Ruby on rails 4 提交集合时出现异常错误\u选择不相关的验证
我有一个工作表单,可以正确保存所有属性,包括Ruby on rails 4 提交集合时出现异常错误\u选择不相关的验证,ruby-on-rails-4,mongoid,collection-select,Ruby On Rails 4,Mongoid,Collection Select,我有一个工作表单,可以正确保存所有属性,包括集合\u select。但是,当我添加验证:title,presence:true并尝试提交时,我得到 nil:NilClass的未定义方法“map” 我的新行动: class ItemsController < ApplicationController def new @item = Item.new @categories = Question.editable_by(current_user) respond_
集合\u select
。但是,当我添加验证:title,presence:true
并尝试提交时,我得到
nil:NilClass的未定义方法“map”
我的新行动:
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
class ItemsControllertrue}
format.json{render:json=>@item}
format.js
结束
结束
结束
视图为items\\ u form.html.haml
不起作用
=f.collection\u select:question\u id、@categories、:\u id、:iqs\u item
有效
=f.collection\u select:question\u id,question.editable\u by(当前用户),:\u id,:iqs\u项
当我将@categories
对象从控制器添加到视图中时,这会起作用。我猜视图中的error
函数没有传递某些内容,或者当它试图用错误重新绘制页面时,无法映射select
请帮忙。同样,我可以让它工作,但我不希望将方法调用放在视图中 =f.collection\u select:question\u id、@categories、:\u id、:iqs\u item
行将为nil:NilClass给出未定义的方法“map”
错误,即,@categories
设置为nil
在视图中添加下面提到的代码,如果您的页面显示成功(没有错误消息),并且没有选择select
,则您知道@categories被设置为nil
- unless @categories.nil?
= f.collection_select :question_id, @categories, :_id, :iqs_item
编辑
另外,在创建方法中设置@categories你能分享错误吗?StackTrace我猜是问题。可编辑用户(当前用户)
返回零,即当前用户没有可编辑的问题。@kirthorat,最好的方法是从development.log
?而且,不,<代码>问题。EdababLyBy(CurrurnUsAuthor)< /C> >考虑为<代码>问题。所有< /代码>。该函数在控制器和视图中都可以正常工作。只有在提交之后才会导致错误。问题不在于函数,而在于它返回的内容。在控制器
或视图
中打印@categories的值。检查它是否为nil或其他内容,您可以从日志文件中获取它。您还可以从运行服务器的控制台复制错误跟踪。您在哪个视图中添加了“选择”下拉列表?请共享控制器名称和视图名称。已更新。该视图是带有表单的常规新方法。