【问题标题】:AJAX form and Rails render on js template?AJAX 表单和 Rails 在 js 模板上呈现?
【发布时间】:2014-04-08 14:43:34
【问题描述】:

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

new.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'

【问题讨论】:

  • 您缺少名为 _new.html.erb 的部分内容,这就是您缺少模板错误的原因。

标签: javascript ruby-on-rails ruby ajax


【解决方案1】:

更新

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 2014-06-16
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    相关资源
    最近更新 更多