2012-04-16 36 views
0

我是一种新的轨道,我有一个问题,我无法解决。Rails - 无法访问表字段

我有一个模型配方

class Recipe < ActiveRecord::Base 
    has_many :items, :dependent => :destroy 
    accepts_nested_attributes_for :items,** 

和示范项目

而且我在访问项目属性的问题通过Recipe.Example

我有一个项目(@i)用字符串描述字段"test_"id = 1

我有一个配方(@r)与id=2和说明"test_recipe";

我能够正确该项关联使用

@i.recipe_id = 2 

如果我去做@i,我有结果

#<Recipe id: 2, description: "test_recipe", created_at: "2012-04-14 15:11:00", updated_at: "2012-04-14 15:11:00"` 

但如果我这样做@r.items,我有几招结果

Item id: 1,recipe_id: 2, updated_at: "2012-04-14 15:11:00" , description: nil)

他不能访问项目的描述字段。为什么?这是避免我建立一个适当的食谱形式,因为铁轨不建立项目领域。

+0

这将是如果您可以粘贴您的实际代码而不是汇总它,则更容易。此外,我会强烈建议使用变量名称项目和配方,而不是我和r(用于代码可读性和可维护性)。 – 2012-04-16 14:13:03

+0

请使用反引号或4格缩进来格式化您的代码。这几乎是不可读的。 – 2012-04-16 14:30:09

回答

0

我猜想这是因为你正在试图做这样的事情:

@recipe.items.description 

时,如果你只是想每一个项目的描述:

@recipe.items.map(&:description) 
+0

在最后一段代码中,它们在说明字段中显示具有零值的项目。我不确定你是对的,这是问题所在。至于问题是什么......没有一些重构的问题,没有人会知道。 – 2012-04-16 15:01:54

+0

但为什么我不能使用@ recipe.items访问items字段(recipe_id除外)? – NokusFerreira 2012-04-16 16:41:34