![](/img/trans.png)
[英]ActionController::InvalidAuthenticityToken in ruby on rails
[英]ActionController::InvalidAuthenticityToken in rails 4
在_form.html.erb
:
<%= simple_form_for(@activity,:remote=>true, html: {multipart: true}) do |f| %>
<div class="form-inputs">
<%= f.input :name %>
<%= f.input :logo%>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
在create.js.erb
:
$(document).ready(function(){
<%if @activity.save %>
$('#divShow').html("<%= j (render 'activities/index') %>");
$('#myModal').modal('hide');
$('#notice').html("Activities is successfully created.").show();
<%else%>
$('.modal-body').html("<%= j (render 'activities/form') %>");
<%end%>
});
在activities_controller
:
def create
@activity = Activity.new(activity_params)
@activity.save
end
在logs
:
由ActivitiesController#create处理为HTML
参数:{“ utf8” =>“✓”,“ activity” => {“ name” =>“ sds”,“ logo” =>#,@ original_filename =“ 1241112.png”,@ content_type =“ image / png “,@ headers =”内容处置:表单数据;名称= \\“ activity [徽标] \\”;文件名= \\“ 1241112.png \\” \\ r \\ n内容类型:image / png \\ r \\ n“> },“ commit” =>“创建活动”}
无法验证CSRF令牌的真实性
1毫秒内完成422个不可处理实体
ActionController的:: InvalidAuthenticityToken
在视图页面中,我正在使用simple_form
gem和JS进行CURD操作。 但是,我在创建新记录时从文件upload(:logo)中出错。谢谢,请帮帮我。
要在activity_controller.rb中解决此问题,请将其放在顶部:
skip_before_filter :verify_authenticity_token, :only => :create
另外,您还必须定义模板,因此视图将是:
def create
@activity = Activity.new(activity_params)
respond_to do |format|
if @activity.save(activity_params)
format.js {}
else
format.js {}
end
end
end
我正在使用gem "remotipart"
解决此问题:
1.将gem "remotipart"
到您的gem "remotipart"
文件中。
2.运行bundle exec rails g remotipart:install
。
3.将<%= javascript_include_tag :defaults %>
到布局页面。
//= require jquery.remotipart
将//= require jquery.remotipart
到application.js
文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.