Yo *_*dke 3 javascript ruby ruby-on-rails actionview
为了包含我在某些页面上只需要的一段javascript,我放了
= javascript_tag do
= render "inserts_js_enhanced_element.js.erb"
Run Code Online (Sandbox Code Playgroud)
在我的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.`
Run Code Online (Sandbox Code Playgroud)
但是,当我将线路更改为
= render "inserts_js_enhanced_element.js", :handlers => [:erb]
Run Code Online (Sandbox Code Playgroud)
无论如何,我得到一个新的警告,说
DEPRECATION WARNING: Passing the format in the template name is
deprecated. Please pass render with :formats => [:js] instead.
Run Code Online (Sandbox Code Playgroud)
如果我确实改变了
= render "inserts_js_enhanced_element", :handlers => [:erb], :formats => [:js]
Run Code Online (Sandbox Code Playgroud)
它给了我错误
ActionView::Template::Error:
Missing partial application/inserts_js_enhanced_element with {:handlers=>[:haml, :builder, :erb, :coffee], :locale=>[:de], :formats=>[:html]}.
Run Code Online (Sandbox Code Playgroud)
现在格式似乎没有改变,:js而且处理程序也不仅仅是:erb.我应该如何正确输入JS-ERB?
更新:
js.erb文件具有表单
<% session_val = determine_session_val_from_config %>
jQuery(document).ready(function() {
//JS Code
}
Run Code Online (Sandbox Code Playgroud)
Yo *_*dke 10
很好:)我想我自己找到了这篇 SO文章的答案
= render(:partial => 'inserts_js_enhanced_element', :handlers => [:erb], :formats => [:js])
Run Code Online (Sandbox Code Playgroud)
工作,并没有给我折旧警告
| 归档时间: |
|
| 查看次数: |
8712 次 |
| 最近记录: |