Rails中的数组4个强参数(非嵌套)

时间:2014-07-10 01:17:17

标签: ruby-on-rails strong-parameters

我想从索引视图中一次创建多个对象,因此我输入了post[][title]post[][parent_id],在post_controller.rb我有:

def post_params
  params.require(:post).permit(:title => [], :parent_id => [])
end

但是我在提交时遇到错误:undefined method 'permit' for [{"title"=>"Title", "parent_id"=>"133"}]:Array

我看了this post,但如果我尝试params.permit(:title => [], :parent_id => []),那么post_params只会返回空哈希。

PARAMS:

{"utf8"=>"✓",
"authenticity_token"=>"oJwfzxbn+LJ/pD1hKo27gckZg6P4Gd8wyNY9NSFS4BA=",
"post"=>{"title"=>["1",
"2"],
"parent_id"=>["",
""]},
"locale"=>"ru"}

1 个答案:

答案 0 :(得分:0)

问题出在Cancancan强大的障碍中,尽管the following article我无法使用cancancan gem来使用我的post_params函数(我在load_and_authorize_resource中调用了ApplicationController),所以修复是在skip_load_resource :only => :create中使用PostController

注意:由于skip_load_resource :only => :create ApplicationController {{1}}在{{1}}工作,所以

}。