2015-11-18 8 views
0

У меня есть ActionController :: InvalidAuthenticityToken при попытке отправить динамически созданную форму из coffeescript.Rails 4 исключение из CoffeeScript: ActionController :: InvalidAuthenticityToken

Я пытался передать authenticity_token в моем запросе формы, но не имел успеха. Не могли бы вы мне помочь?

Мой код CoffeeDcript;

upload_form = $('<form>', { 
     'action': '/save_orders', 
     'method': 'post' 
    }).append($('<input>', { 
     'data': my_json 
    })); 
    upload_form.submit(); 

Пожалуйста, обратите внимание, что я нужду создать и отправить форму динамически, поэтому я не могу подготовить его на HTML-страницу, а затем повторно использовать в JS. Кроме того, он должен быть запросом формы (не АЯКС)

ответ

1

Где-то в представлении рельсов (например application.html.erb файл) вы можете установить глобальную переменную JS вроде этого:

window._token = '<%= form_authenticity_token %>'; 

Тогда при создании формы вы можете добавить его в форму:

upload_form = $('<form>', { 
    'action': '/save_orders', 
    'method': 'post' 
}).append($('<input>', { 
    'data': my_json 
})).append($('<input>', { 
    'type': 'hidden', 
    'name': 'authenticity_token', 
    'value': window._token 
})); 
upload_form.submit(); 
Смежные вопросы