Неразрешенный параметр Rails:: _status - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь разрешить администратору обновить атрибут 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. Любая помощь будет высоко ценится:)

1 Ответ

2 голосов
/ 25 февраля 2020

У вас есть дополнительный уровень вложенности. Попробуйте это

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