2010-09-06 4 views
0

Я строю довольно простой сайт рецептов для изучения RoR, и я слежу за руководством по началу работы, за исключением того, что я обменивал сообщениями на рецепты и комментарии для ингредиенты. я получил весь путь к удалению комментария (ингредиент) http://edgeguides.rubyonrails.org/getting_started.html#deleting-commentsконтроллер рельсов, неопределенный метод ошибок, основанный на краевых направляющих

теперь я получаю сообщение об ошибке

 
undefined method `recipe' for # 

Линия, в которой парциальное вызывает проблему здесь

 
<%= link_to 'Delete Ingredient', [ingredient.recipe_id, ingredient], 
        :confirm => 'Are you sure', 
        :method => :delete %> 

Метод контроллера (который, я думаю, не имеет никакого эффекта, но я не уверен)

 
def destroy 
     @recipe = Recipe.find(params[:recipe_id]) 
     @ingredient = @recipe.ingredient.find(params[:id]) 
     @ingredient.destroy 
     redirect_to post_path(@recipe) 
end 

Я использую 'recipe_id' в link_to, потому что, когда я вывожу debug, у него нет атрибута 'recipe', но имеет атрибут recipe_id.

Выход отладки является

 

--- !ruby/object:Ingredient 
attributes: 
    id: 3 
    ingredient: testing 
    amount: 10 
    measure: "10" 
    description: "10" 
    recipe_id: 2 
    created_at: 2010-09-06 22:16:17.599217 
    updated_at: 2010-09-06 22:16:17.599217 
attributes_cache: {} 

changed_attributes: {} 

destroyed: false 
marked_for_destruction: false 
new_record: false 
previously_changed: {} 

readonly: false 

я предполагаю [ingredient.recipe_id ингредиент] просто хэш переменных ?? Правильно ли это? Я исхожу из-за неправильного угла?

+0

Похоже, что вы пытаетесь выполнить это «вложенная форма». Форма ингредиента внутри формы рецепта. Я бы это сделал. Если вы все еще застряли, опубликуйте свою модель для ингредиентов и рецептов. Как они связаны? – Trip

ответ

1

Выстрел в темноте, ваши ассоциации являются собственностью? Любопытное нравится:

class Ingredient < ActiveRecord::Base 
    belongs_to :recipe 
    ... 

Это даст вам

@ingredient.recipe 

Надежда, что помогает.

+0

блестящий! Спасибо. – pedalpete

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