Я представляю форму в Rails4 от Modal. Это решение работает отлично в Rails 3.xОшибка: не удается проверить рельсы аутентификации маркера CSRF
код выглядит следующим образом:
<div class="modal fade" id="copy-product-addons">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4>Copy Add-Ons From:</h4>
</div>
<div class="modal-body">
<form id="addons-copy" method="POST" action="<%= copy_addons_product_path(@product) %>">
<%= select_tag "from", options_from_collection_for_select(@shop.enabled_products - [@product], 'id', 'name'), :class => "form-control %>
</form>
</div>
<div class="modal-footer">
<a href="#" class="btn btn-danger" data-dismiss="modal">Cancel</a>
<a href="#" onclick="$('#addons-copy').submit(); return false;" class="btn btn-primary">Copy Add-ons</a>
</div>
</div>
</div>
</div>
<% end %>
В ответ, вместо выполнения конкретных действий он повторно направляет меня на страницу входа в систему с помощью Логин меня.
Ответ в терминале выглядит следующим образом:
> Started POST "/products/10168/copy_addons" for 127.0.0.1 at 2016-01-10
> 21:19:10 +0100 Processing by ProductsController#copy_addons as HTML
> Parameters: {"from"=>"10130", "id"=>"10168"} Can't verify CSRF token
> authenticity Redirected to http://myr-d.dev/login Filter chain
> halted as :require_login rendered or redirected
Спасибо
Не похоже, что вы устанавливаете токен CSRF. Использовать помощник «form_tag» Rails –
Возможный дубликат [Невозможно подтвердить подлинность токена CSRF в рельсах] (http://stackoverflow.com/questions/11986939/cant-verify-csrf-token-authenticity-in-rails) –
@CristianoAlencar: Этот ответ больше соответствует строкам внешнего запроса API. Кажется, это внутренний запрос на сервер, который должен использовать только соглашения Rails CSRF. Как отметил @WesFoster, использование 'form_tag' будет правильно устанавливать токен. Вот хорошая публикация SO, которую я нашел, которая хорошо объясняет этот материал CSRF: http://stackoverflow.com/questions/941594/understanding-the-rails-authenticity-token. – dwenzel