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 Rails 4/Mongoid can';t柱阵列_Ruby On Rails 4_Mongoid - Fatal编程技术网

Ruby on rails 4 Rails 4/Mongoid can';t柱阵列

Ruby on rails 4 Rails 4/Mongoid can';t柱阵列,ruby-on-rails-4,mongoid,Ruby On Rails 4,Mongoid,这是我的mongoid医生: { _id: ObjectId("52eec35e6b65762732000000"), draftees: [ "52e93c266b657641d5000000", "52e96a676b6576431d010000", "tom" ], user_id: "52eac4d16b657603d8010000" } 当我尝试通过ajax进行更新时: $.ajax({ type: "POST", url: "/dra

这是我的mongoid医生:

{
  _id: ObjectId("52eec35e6b65762732000000"),
  draftees: [
    "52e93c266b657641d5000000",
    "52e96a676b6576431d010000",
    "tom"
  ],
  user_id: "52eac4d16b657603d8010000"
}
当我尝试通过ajax进行更新时:

$.ajax({
  type: "POST",
  url: "/draft_lists",
  data: {"draft_list":{
    "draftees":["bill", "bob", "zeak"]}
},
  success: function(){ 
    alert('success!');
  },
  error: function(){
    alert('error!');
  }
})
这没用

我一直在努力研究如何格式化draftees数组,以便它能够更新数据库,但没有用。我做错了什么

注意:Ajax请求是通过firebug控制台发出的。当我的绘图员模型类型是“字符串”,而不是“数组”时,它就工作了……所以我知道ajax请求正在工作。 控制器:

  def index
    @players = Player.all
    @draft_lists = DraftList.where(user_id: current_user._id)
  end
  def create
    #If user's draft doesn't exist, create their draft. If it does, update to their preference, based on current_user._id

    draft_list = DraftList.find_or_initialize_by(user_id: current_user._id)
    draft_list.update(draft_list_params)
    respond_to do |format|
      if @draft_list.save
        format.html { redirect_to @draft_list, notice: 'Draft list was successfully created.' }
        format.json { render action: 'show', status: :created, location: @draft_list }
      else
        format.html { render action: 'new' }
        format.json { render json: @draft_list.errors, status: :unprocessable_entity }
      end
    end
  end

事实证明,Rails 4中的强参数存在问题。我需要允许:

def draft_list_params
  params.require(:draft_list).permit(:user_id, :draftees => [])
end

让我们看看处理请求的控制器如何?
draft\u list\u params
初始化?您的请求是否会产生任何错误?一个500错误,但它(在数组之前,使用字符串)将起作用。