2012-12-05 49 views
0

我是Ruby on Rails的新手,我在创建类别时遇到问题。食谱中的NoMethodError#new

Ruby on Rails的当试图查看的类别给出了这样的消息:

<div class="field"> 
    <%= f.label :category %><br /> 
    <%= f.collection_select :category_id, @categories, :id, :name, :prompt => true %> 
</div> 
<div class="field"> 

回答

0

继应该工作

<%= f.collection_select :category_id, @categories ? @categories : [], :id, :name, :prompt => true %> 

根据该collection_select方法@categories应的对象的阵列, 该错误发生,因为它的值为@categories作为nil

+0

感谢您的帮助。 –

0

您的食谱控制器中的新操作方法似乎需要填充@categories。

e.g/

def new 
    @categories = Category.all 
    # .. other code 
end 
+1

只是一个建议的整理:'Category.all'永远不会返回零,使得'|| []'不必要。 –

+0

收拾起来,谢谢:) – gef