繁体   English   中英

Rails 3不加载.js.erb文件

[英]Rails 3 not loading .js.erb files

我希望加载两个.js.erb文件,分别名为“ create”和“ update”,并在提交表单后执行,以用更新的部分替换我的视图之一中的表。

这些文件都包含以下内容(它们是相同的)

$('table#rating').replaceWith("<%= escape_javascript(render :partial => 'home/rating') %>");

但是我不确定.js.erb文件的位置(与html.erb页面位于同一视图中)以及如何在提交表单时加载/触发它们。 任何帮助,将不胜感激。

是的,您将.js.erb文件放置在与使用它们的.html.erb文件相同的位置。 为了让Rails使用它们,您需要告诉Rails表单应该异步提交(通过AJAX)。 为此,只需在表单标签中添加:remote => true即可。 例如

<%= form_for @some_model, :remote => true do %>
<!-- form stuff... -->
<% end %>

为了使用Ajax提交表单,您需要指定Alex指出的:remote => true选项。

在处理表单提交的控制器中,还应该能够响应Ajax请求。 它应该具有类似以下内容。

class FormHandlingController < ApplicationController

  def create
    ...
    respond_to do |format|
      format.js
    end
  end

end

您应该将craete.js.erb放在app/views/form_handling_controllers/目录下。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM