【问题标题】:Rails Unpermitted parameter: :_statusRails Unpermitted 参数::_status
【发布时间】:2020-02-25 17:52:02
【问题描述】:

我正在尝试让管理员从索引页面更新用户的is_moderator 属性。

我在提交表单时收到此错误:Unpermitted parameter: :_status

这是表单中的代码:

<tbody>
    <%@users.each do |user|%>
      <tr>
        <td><%=user.id%></td>
        <td><%=user.username%></td>
        <td><%=user.email%></td>
        <td><%=user.created_at.strftime("%d-%m-%Y") %></td>
        <td> 

          <%= form_for user, :method => :put do |form| %>
            <%= form.radio_button:_status, :is_moderator, :checked => (user.is_moderator) %> 
            <%= form.submit 'Update moderator status'%>
          <% end %>

        </td>
        <td><%= link_to 'Delete User', admin_user_path(user.id), :method => :delete, data: { confirm: 'Are you sure?' }, :class=>"btn btn-danger" %></td>
      </tr>
    <%end%>
  </tbody>

我在表单中使用了 _status,因此如果用户是版主,则该按钮已被选中。

参数如下:

Parameters: {"utf8"=>"✓", "authenticity_token"=>"KBaSldjUe1Ql7ehu5hvz+j76l5qxi9yxQ6FcaCBk/DtE6BbGdMYnaG+Ok8vZVHfEUIsHPC+aZBeJxecyutMtlw==", "user"=>{"_status"=>"is_moderator"}, "commit"=>"Update moderator status", "id"=>"7"}

这是我对许可方法的最新尝试:

def user_params
   params.require(:user).permit(:user => [:_status])
end

我认为这是 user_params 方法的问题。任何帮助将不胜感激:)

【问题讨论】:

    标签: ruby-on-rails parameters form-for


    【解决方案1】:

    您有额外的嵌套级别。试试这个

    def user_params
       params.require(:user).permit(:_status)
    end
    

    【讨论】:

    • 嗯,这不起作用,我遇到了同样的错误。我认为它与下划线有关,但我找不到任何关于它的文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    相关资源
    最近更新 更多