首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 3不加载.js.erb文件

问Rails 3不加载.js.erb文件
EN

Stack Overflow用户
提问于 2011-08-20 18:22:12
回答 2查看 2.9K关注 0票数 2

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

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

代码语言:javascript
复制
$('table#rating').replaceWith("<%= escape_javascript(render :partial => 'home/rating') %>");

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

EN

回答 2

Stack Overflow用户

发布于 2011-08-20 19:05:38

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

代码语言:javascript
复制
<%= form_for @some_model, :remote => true do %>
<!-- form stuff... -->
<% end %>
票数 3
EN

Stack Overflow用户

发布于 2011-08-20 20:25:22

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

在处理表单提交的控制器中,还应该能够响应Ajax请求。它应该有类似下面这样的东西。

代码语言:javascript
复制
class FormHandlingController < ApplicationController

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

end

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7131184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档