Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 提交集合时出现异常错误\u选择不相关的验证_Ruby On Rails 4_Mongoid_Collection Select - Fatal编程技术网

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或其他内容,您可以从日志文件中获取它。您还可以从运行服务器的控制台复制错误跟踪。您在哪个视图中添加了“选择”下拉列表?请共享控制器名称和视图名称。已更新。该视图是带有表单的常规
方法。