Rails form_for вспомогательный аутентифицированный параметр? - PullRequest
0 голосов
/ 09 июня 2019

У меня есть какой-то устаревший код rails, который указывает authenticated: true для удаленной формы. Но, насколько я могу судить, параметр ничего не делает. Возможно, разработчик хотел включить токен подлинности?

Я выполнил поиск, но не нашел документации по этому параметру.

<%= form_for @house, url: action_path, method: "PATCH", authenticated: true, remote: true, html: { id: 'house-edit-contact' } do |f| %>
    <%= f.label :website, 'website: ' %>
    <%= f.text_field :website %>
    <br>
    <%= f.label :phone, 'phone: ' %>
    <%= f.text_field :phone %>
    <br><br>
    <%= f.submit "Submit Changes" %>
  <% end %>

Вот чего стоит этот HTML-код, но я не вижу ничего связанного с аутентификацией:

<form class="edit_house" id="house-edit-contact" action="/houses/7112?field=contact-info&amp;placement=contact_info" accept-charset="UTF-8" data-remote="true" method="post">
  <input name="utf8" type="hidden" value="✓">
  <input type="hidden" name="_method" value="patch">
  <br>
  <label for="house_website">website: </label>
  <input type="text" value="portofhopecenters.org" name="house[website]" id="house_website">
  <br>
  <label for="house_phone">phone: </label>
  <input type="text" value="208-463-0118" name="house[phone]" id="house_phone">
  <br><br>
  <input type="submit" name="commit" value="Submit Changes" data-disable-with="Submit Changes">
</form>

1 Ответ

0 голосов
/ 10 июня 2019

Вы можете сделать

<%= form_for @house, url:(action_path, authenticated: true), method: "PATCH", remote: true, html: { id: 'house-edit-contact' } do |f| %>
    <%= f.label :website, 'website: ' %>
    <%= f.text_field :website %>
    <br>
    <%= f.label :phone, 'phone: ' %>
    <%= f.text_field :phone %>
    <br><br>
    <%= f.submit "Submit Changes" %>
  <% end %>

но поскольку вы используете devise, вам не нужно передавать его из view Вы можете просто управлять с before_action: authenticate_user!, only: [:update] в самом controller.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...