Rails 3不能加载.js.erb文件

Rails 3 not loading .js.erb files

本文关键字:erb 文件 js 加载 不能 Rails      更新时间:2023-09-26

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

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

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

然而,我不确定在哪里把。js。Erb文件(在同一个视图中,我的html。动词页面?)以及如何在表单提交时加载/触发它们。

是的,您将.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/目录下