ActionController::InvalidAuthenticityToken 在 rails 4
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
中:
Processing by ActivitiesController#create as HTML
Parameters: {"utf8"=>"✓", "activity"=>{"name"=>"sds",
"logo"=>#,
@original_filename="1241112.png", @content_type="image/png",
@headers="Content-Disposition: form-data; name=\"activity[logo]\";
filename=\"1241112.png\"\r\nContent-Type: image/png\r\n">},
"commit"=>"Create Activity"}
Can't verify CSRF token authenticity
Completed 422 Unprocessable Entity in 1ms
ActionController::InvalidAuthenticityToken
在视图页面中,我使用 simple_form
gem 和 JS 的 CURD 操作。但是,我在创建新的 record.Please 时从文件上传(:徽标)中收到错误,请帮助我,谢谢。
要在 activities_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.Add gem "remotipart"
到你的 gemfile。
2.Run bundle exec rails g remotipart:install
.
3.Add<%= javascript_include_tag :defaults %>
到布局页
4.Add //= require jquery.remotipart
到 application.js
文件。
在_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
中:
Processing by ActivitiesController#create as HTML
Parameters: {"utf8"=>"✓", "activity"=>{"name"=>"sds", "logo"=>#, @original_filename="1241112.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"activity[logo]\"; filename=\"1241112.png\"\r\nContent-Type: image/png\r\n">}, "commit"=>"Create Activity"}
Can't verify CSRF token authenticity
Completed 422 Unprocessable Entity in 1ms
ActionController::InvalidAuthenticityToken
在视图页面中,我使用 simple_form
gem 和 JS 的 CURD 操作。但是,我在创建新的 record.Please 时从文件上传(:徽标)中收到错误,请帮助我,谢谢。
要在 activities_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.Add gem "remotipart"
到你的 gemfile。
2.Run bundle exec rails g remotipart:install
.
3.Add<%= javascript_include_tag :defaults %>
到布局页
4.Add //= require jquery.remotipart
到 application.js
文件。