0

我是 Rails 的新手,我有一个无法解决的问题。

我有一个模型食谱

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

和一个模型项目

  class Item < ActiveRecord::Base
    belongs_to :recipe
  end

我在通过以下方式访问 Item 属性时遇到问题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 字段。

4

1 回答 1

0

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

@recipe.items.description

何时,如果您只想要每个项目的描述:

@recipe.items.map(&:description)
于 2012-04-16T14:35:45.863 回答