小编Eri*_*oke的帖子

Rails 4,强参数,嵌套资源,构建和未定义方法允许

我无法通过构建获得rails 4,强大的参数来处理嵌套资源.任何建议都会非常受欢迎.

RSPEC告诉我

创建动作创建动作失败/错误:click_button"创建动作"NoMethodError:未定义的方法permit' for "create":String # ./app/controllers/actions_controller.rb:24:inaction_params'#./ app/console/actions_controller.rb:10:in create' # ./spec/features/creating_actions_spec.rb:16:inblock(2 levels)in'

我的浏览器告诉我:

ActionsController#中的NoMethodError为"create"创建未定义的方法`permit':String

提取的来源(第24行):

def action_params params.require(:action).permit(:title,:description)结束

动作控制器包含:

def create
    @action = @project.actions.build(action_params)
    if @action.save
        flash[:notice] = "Action has been created."
        redirect_to [@project, @action]
    else
        flash[:alert] = "Action has not been created."
        render "new"
    end
end
private

def action_params
  params.require(:action).permit(:title, :description)
end
Run Code Online (Sandbox Code Playgroud)

我正在使用嵌套资源:

resources :projects do
  resources :actions
end
Run Code Online (Sandbox Code Playgroud)

表格如下:

<%= form_for [@project, @action] do |f| %>
<% if @action.errors.any? %>
<div id="error_explanation" >
  <h2><%= …
Run Code Online (Sandbox Code Playgroud)

nested-resources strong-parameters ruby-on-rails-4

2
推荐指数
1
解决办法
4224
查看次数