Rails Bootstrap Modal Remote True 在 form_for 中不起作用
Rails Bootstrap Modal Remote True does not work in form_for
执行摘要
- 我在我创建的 Rails 4 服务器上有 Bootstrap 模式
- 此模式用于通过远程提交新 post:true
- 我在提交表单时收到一条错误消息,说 remote true 不起作用。
- 表单实际上可以在没有远程 true 的情况下成功提交,但它不是 ajax。
- 我的遥控器出了什么问题:真行。是直接剪切粘贴。
亲爱的朋友们,
所以我在这个问题上花了两天时间。我有一个 Bootstrap 模式,我想用它来允许新的提交。我希望通过 ajax 完成此操作,并且从所有文档中 form_for() 对象应在 :remote => true.
处传递
我可以在不启用 remote true 的情况下让我的表单工作,但是当我将它放在我的 form_for 中时,它不再工作并且我收到如下所列的语法错误。
请帮忙。
applicaton.html.erb 在布局中
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
application.js
//= require jquery
//= require bootstrap-sprockets
//= require jquery_ujs
//= require turbolinks
//= require masonry/jquery.masonry
//= require masonry/jquery.infinitescroll.min
//= require_tree .
这是生成 Modal
的 HTML 文件
<div id="largeModal" class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Submission</h4>
</div>
<div class="modal-body">
<%= render 'formnew' %>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
这是我的formnew.html.erb(这就是问题所在)
<%= form_for (@item, remote: true) do |f| %>
<% if @item.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@item.errors.count, "error") %> prohibited this item from being saved:</h2>
<ul>
<% @item.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="form-group">
<%= f.label :title %><br>
<%= f.text_area :title, {:class=> "form-control", :size => "30x10"} %>
</div>
<div class="form-group">
<%= f.label :subject %><br>
<%= f.text_area :subject, {:class=> "form-control", :size => "30x10"} %>
</div>
<div class="form-group">
<table class= "table-bordered">
<tbody>
<tr>
</tr>
</tbody>
</table>
</div>
<div class=" form-actions">
<%= f.submit %>
</div>
<% end %>
我收到无法弄清楚的错误(顺便说一下,它在没有 REMOTE 命令的情况下工作)
/home/vic/projects/projects/app/views/projects/_formnew.html.erb:2: syntax error, unexpected ',', expecting ')' ...fer.append= form_for (@item, remote: true) do |f| @output... ... ^
这是我的控制器
def index
@item = Item.new
page = params[:page]
if(page.blank? == false)
next_page =(page.to_i)
else
page = 0;
next_page = page+1
end
@objects = Object.paginate(page: next_page, per_page: 20).order("created_at DESC")
@next_link = next_page +1
respond_to do |format|
format.json { render :show, status: :created, location: @item }
format.html {render :index}
format.js {}
end
end
所以朋友们:
<%= form_for (@item, remote: true) do |f| %> is INCORRECT
<%= form_for @secret, remote: true do |f| %> is CORRECT
这是我生命中不会 return 的 6 个小时。
执行摘要
- 我在我创建的 Rails 4 服务器上有 Bootstrap 模式
- 此模式用于通过远程提交新 post:true
- 我在提交表单时收到一条错误消息,说 remote true 不起作用。
- 表单实际上可以在没有远程 true 的情况下成功提交,但它不是 ajax。
- 我的遥控器出了什么问题:真行。是直接剪切粘贴。
亲爱的朋友们,
所以我在这个问题上花了两天时间。我有一个 Bootstrap 模式,我想用它来允许新的提交。我希望通过 ajax 完成此操作,并且从所有文档中 form_for() 对象应在 :remote => true.
处传递我可以在不启用 remote true 的情况下让我的表单工作,但是当我将它放在我的 form_for 中时,它不再工作并且我收到如下所列的语法错误。
请帮忙。
applicaton.html.erb 在布局中
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
application.js
//= require jquery
//= require bootstrap-sprockets
//= require jquery_ujs
//= require turbolinks
//= require masonry/jquery.masonry
//= require masonry/jquery.infinitescroll.min
//= require_tree .
这是生成 Modal
的 HTML 文件<div id="largeModal" class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Submission</h4>
</div>
<div class="modal-body">
<%= render 'formnew' %>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
这是我的formnew.html.erb(这就是问题所在)
<%= form_for (@item, remote: true) do |f| %>
<% if @item.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@item.errors.count, "error") %> prohibited this item from being saved:</h2>
<ul>
<% @item.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="form-group">
<%= f.label :title %><br>
<%= f.text_area :title, {:class=> "form-control", :size => "30x10"} %>
</div>
<div class="form-group">
<%= f.label :subject %><br>
<%= f.text_area :subject, {:class=> "form-control", :size => "30x10"} %>
</div>
<div class="form-group">
<table class= "table-bordered">
<tbody>
<tr>
</tr>
</tbody>
</table>
</div>
<div class=" form-actions">
<%= f.submit %>
</div>
<% end %>
我收到无法弄清楚的错误(顺便说一下,它在没有 REMOTE 命令的情况下工作)
/home/vic/projects/projects/app/views/projects/_formnew.html.erb:2: syntax error, unexpected ',', expecting ')' ...fer.append= form_for (@item, remote: true) do |f| @output... ... ^
这是我的控制器
def index
@item = Item.new
page = params[:page]
if(page.blank? == false)
next_page =(page.to_i)
else
page = 0;
next_page = page+1
end
@objects = Object.paginate(page: next_page, per_page: 20).order("created_at DESC")
@next_link = next_page +1
respond_to do |format|
format.json { render :show, status: :created, location: @item }
format.html {render :index}
format.js {}
end
end
所以朋友们:
<%= form_for (@item, remote: true) do |f| %> is INCORRECT
<%= form_for @secret, remote: true do |f| %> is CORRECT
这是我生命中不会 return 的 6 个小时。