【发布时间】:2018-02-26 03:11:17
【问题描述】:
我正在尝试在更改选择选项时自动提交远程表单。当我从表单标签中删除 remote: true 时,一切正常,除了我不希望每次都重新加载页面。
我使用的是 Rails 5.1.4。
代码
<%= form_for @foo, remote: true do |f| %>
... fields
<%= f.collection_select :bar_id, @list, :id, :name,
{include_blank: '-'}, { onchange: 'this.form.submit();'} %>
<% end %>
控制器
def update
respond_to do |format|
if @foo.update(foo_params)
format.html { redirect_to @foo }
format.json { render :show, status: :ok, location: @foo }
else
format.html { render :edit }
format.json { render json: @foo.errors, status: :unprocessable_entity }
end
end
end
在视图中更新选择时出现以下错误:
ActionController::InvalidAuthenticityToken
我假设this.form.submit(); 是问题所在。我怎样才能让这个表单成功提交?
【问题讨论】:
标签: ruby-on-rails ajax ruby-on-rails-5