Ruby on rails 当我想重新注册一个表单时,我收到以下错误:NoMethodError(未定义的方法'permit';for";create";:String)

Ruby on rails 当我想重新注册一个表单时,我收到以下错误:NoMethodError(未定义的方法'permit';for";create";:String),ruby-on-rails,Ruby On Rails,当我发送收到的表格数据时: NoMethodError(未定义“create”:String的“permit”方法): app/controllers/actions_controller.rb:53:inaction_params' app/controllers/actions\u controller.rb:18:increate' 表格如下: = controlled_form do = render 'shared/error_messages', object: @action

当我发送收到的表格数据时:

NoMethodError(未定义“create”:String的“permit”方法):

app/controllers/actions_controller.rb:53:in
action_params'
app/controllers/actions\u controller.rb:18:in
create'

表格如下:

= controlled_form do
  = render 'shared/error_messages', object: @action
  = remote_form(@action, html: { id: "actionsForm" }) do |f|
    = input_group "fas fa-file-alt" do
      = f.text_field :name, \
        autofocus: true, \
        placeholder: t('actions.form.name'), \
        class: "form-control"

    = input_group 'fas fa-file-alt' do
      = f.text_area :description, \
        placeholder: t('actions.form.description'), \
        class: "form-control"
以及创造的功能:

def create
    @action = Action.new(action_params)
    if @action.save
        flash[:success] = "\"#{@action.name}\" was created"
        respond_to do |format|
        format.js { render js: "Turbolinks.visit('#{actions_path}')" }
    end
    else
        render_form status: :bad_request
    end
end
最后:

def action_params
    params.require(:action).permit(:name, :description)
end
“action”是引用当前控制器操作的params散列上的一个特殊键,您不应该将
action
用作参数。我不确定您在表单中使用了什么(
remote\u表单
不是一种common rails表单帮助器方法),但它应该给您一个选项来更改它,就像
form\u with
helper上的
scope
选项一样


将其更改为类似“action_object”或“action”以外的任何内容,然后在
action_params

提交时发送的参数是什么?你能分享一下吗?