javascript - AJAX 表单和 Rails 在 js 模板上呈现?

标签 javascript ruby-on-rails ruby ajax

我不断收到我不知道如何解决的模板丢失错误。我有一个远程 link_to,它创建对新操作的调用,然后呈现包含对 html 表单的呈现的 new.js.erb。我希望 ajax 调用进入,路由到 new.js.erb,以便它可以将常规新内容(包括表单)添加到 $('#form_account_contact') 中。我也附上了目录结构。

新的.js.erb

$('#form_account_contact').html('<%= escape_javascript render("new") %>');

错误:

ActionView::Template::Error (Missing partial tools/api_loaders/account_contact/new, application/new with {:locale=>[:en], :formats=>[:js, :html], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee]}. Searched in:
  * "/Users/tmedford/XXXX/XXXX/app/views"
  * "/Users/tmedford/.rvm/gems/ruby-2.0.0-p247/bundler/gems/mercury-1cc637b0bcce/app/views"
  * "/Users/tmedford/.rvm/gems/ruby-2.0.0-p247/gems/devise_security_extension-0.8.0/app/views"
  * "/Users/tmedford/.rvm/gems/ruby-2.0.0-p247/gems/devise-3.2.3/app/views"
):
    1: $('#form_account_contact').html('<%= escape_javascript render("new") %>');
  app/views/tools/api_loaders/account_contact/new.js.erb:1:in `_app_views_tools_api_loaders_account_contact_new_js_erb___3020976815342708085_70105536181780'
  app/controllers/application_controller.rb:94:in `set_time_zone'

view directory

Controller Directory and new call

最佳答案

更新

$('#form_account_contact').html('<%= escape_javascript render("new") %>');

$('#form_account_contact').html('<%= escape_javascript render("form") %>');

在您的 new.js.erb 中,您正试图呈现部分 form。您传递了不正确的部分名称,这就是您收到错误的原因,因为没有名称为 new 的部分。

关于javascript - AJAX 表单和 Rails 在 js 模板上呈现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22940454/

相关文章:

javascript - 使用 ExecJS 传递参数

javascript - 弹出窗口未在 codeigniter 中打开

ruby-on-rails - 如何在ActiveRecord查询中使用OR条件

javascript - 将 POST 与 React Fetch 一起使用会返回空对象吗?

ruby-on-rails - 图像和视频的回形针

ruby - 自动将 JSON 对象映射到 Ruby 中的实例变量

ruby - 将引导字形添加到 Rails 中的按钮

ruby-on-rails - 关系的别名

javascript - HTML 表单操作是前置值而不是附加值

javascript - 如何从变量分配下拉列表的值