我是铁杆的新手,我遇到了一个我无法解决的问题。
我有一个模型食谱
class Recipe < ActiveRecord::Base
has_many :items, :dependent => :destroy
accepts_nested_attributes_for :items,**
和模型项
class Item < ActiveRecord::Base
belongs_to :recipe
end
我在通过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)
他无法访问项目的描述字段。为什么?这是为了避免我为配方构建一个合适的表单,因为rails不会构建items字段。
答案 0 :(得分:0)
我猜这是因为你试图做这样的事情:
@recipe.items.description
当您只想要每个项目的描述时:
@recipe.items.map(&:description)