2014-04-08 125 views
2

我不断收到这个失踪的模板错误,我不知道如何解决。我有一个远程link_to,它创建一个对新动作的调用,然后呈现包含html表单呈现的new.js.erb。我想要ajax调用进来,路由到new.js.erb,以便它可以将常规new(包括表单)添加到$('#form_account_contact')中。我也附加了目录结构。AJAX窗体和Rails渲染js模板?

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' 

view directory

Controller Directory and new call

+3

您缺少部分名为_new.html.erb,这就是为什么你会失去模板错误。 – Kushal

回答

1

更新

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

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

在你new.js.erb,你想渲染form部分。您传递的部分名称不正确,这就是为什么您会收到错误,因为没有名称new