我有一个可以正确保存所有属性的工作表单,包括collection_select
. 但是,当我添加validates :title, presence: true
并尝试提交时,我得到
undefined method 'map' for nil:NilClass
我的新动作:
class ItemsController < ApplicationController
def new
@item = Item.new
@categories = Question.editable_by(current_user)
respond_to do |format|
format.html { render :layout => true}
format.json { render :json => @item }
format.js
end
end
end
视图是items\_form.html.haml
不工作
= f.collection_select :question_id, @categories, :_id, :iqs_item
作品
= f.collection_select :question_id, Question.editable_by(current_user), :_id, :iqs_item
这在我将@categories
控制器中的对象添加到视图时有效。我猜测视图中的函数没有传递一些东西,error
或者当它尝试重绘有错误的页面时它无法映射选择?
请协助。同样,我可以让它工作,但我宁愿不将方法调用放在视图中。