簡體   English   中英

Ruby on Rails查看通過渲染插入js.erb文件

[英]Ruby on Rails View inserting js.erb file via render

為了包含我在某些頁面上只需要的一段javascript,我放了

 = javascript_tag do
   = render "inserts_js_enhanced_element.js.erb"

在我的haml文件中。 現在我在測試中收到警告:

DEPRECATION WARNING: Passing a template handler in the template name is 
deprecated. You  can simply remove the handler name or pass render
:handlers => [:erb] instead.`

但是,當我將線路更改為

   = render "inserts_js_enhanced_element.js", :handlers => [:erb]

無論如何,我得到一個新的警告,說

 DEPRECATION WARNING: Passing the format in the template name is 
 deprecated. Please pass render with :formats => [:js] instead.

如果我確實改變了

 = render "inserts_js_enhanced_element", :handlers => [:erb], :formats => [:js]

它給了我錯誤

     ActionView::Template::Error:
   Missing partial application/inserts_js_enhanced_element with {:handlers=>[:haml, :builder, :erb, :coffee], :locale=>[:de], :formats=>[:html]}. 

現在格式似乎沒有改為:js和處理程序不僅僅是:erb 我應該如何正確輸入JS-ERB?

更新:

js.erb文件具有表單

 <% session_val = determine_session_val_from_config %>
 jQuery(document).ready(function() {
   //JS Code
 }

很好:)我想我自己找到了這篇 SO文章的答案

= render(:partial => 'inserts_js_enhanced_element', :handlers => [:erb], :formats => [:js])

工作,並沒有給我折舊警告

你嘗試過這個嗎?

= render "inserts_js_enhanced_element"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM