2012-04-16 6 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

Было бы проще, если вы можете вставить свой фактический код, а не его резюме. Также я бы настоятельно рекомендовал использовать элемент имен переменных и рецепт вместо i и r (для удобства чтения и ремонтопригодности кода). –

+0

Пожалуйста, отформатируйте свой код, используя обратные или четырехпозиционные отступы. Это почти невозможно. –

ответ

0

Я думаю, это потому, что вы пытаетесь сделать что-то вроде этого:

@recipe.items.description 

Когда, если вы просто хотите, описание каждого из элементов:

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

В последнем бите кода они показывают элемент с нулевым значением в поле описания. Я не уверен, что вы правы, что это проблема. Что касается проблемы ... никто не узнает, не рефакторинг вопроса. –

+0

, но почему я не могу получить доступ к полям элементов (кроме recipe_id) с помощью @ recipe.items? – NokusFerreira

Смежные вопросы