kbj*_*ing 5 javascript ruby-on-rails
我是Rails的新手,从视图中调用javascript函数我有一个非常简单的问题.在Rails 2中,我会...
= javascript_tag "name(arguments)"
Run Code Online (Sandbox Code Playgroud)
其中javascript函数"name"位于我的application.js文件中.但是,这似乎不适用于Rails 3?或者我错过了什么?我一直在搜索谷歌一段时间没有找到答案.
更新:
好的,所以我按照建议查看了两种不同方式的来源(使用javascript_tag和haml javascript过滤器).这很奇怪,因为html源似乎是相同的?除了声明脚本类型的双引号和单引号之外.
首先:使用不起作用的javascript_tag
= javascript_tag "number_interval(#{fact.current_value}, #{fact.growth_per_second}, #{fact.decimal_number}, '#{dom_id(fact, "number")}'"
Run Code Online (Sandbox Code Playgroud)
资源...
<div id='number_number_interval_727'>loading</div>
<script type="text/javascript">
//<![CDATA[
number_interval(6952596670.36814, 2.33002440293917, 0, 'number_number_interval_727'
//]]>
</script>
Run Code Online (Sandbox Code Playgroud)
第二:使用haml javascript过滤器,它的工作原理
:javascript
number_interval(#{fact.current_value}, #{fact.growth_per_second}, #{fact.decimal_number}, '#{dom_id(fact, "number")}')
Run Code Online (Sandbox Code Playgroud)
资源...
<div id='number_number_interval_727'>loading</div>
<script type='text/javascript'>
//<![CDATA[
number_interval(6952596917.02179, 2.33002440293917, 0, 'number_number_interval_727')
//]]>
</script>
Run Code Online (Sandbox Code Playgroud)
好吧,我想我会坚持使用haml过滤器!
你有一个语法错误:
= javascript_tag "number_interval(#{fact.current_value}, #{fact.growth_per_second}, #{fact.decimal_number}, '#{dom_id(fact, "number")}'"
Run Code Online (Sandbox Code Playgroud)
缺少函数的右括号number_interval。我认为应该是:
= javascript_tag "number_interval(#{fact.current_value}, #{fact.growth_per_second}, #{fact.decimal_number}, '#{dom_id(fact, "number")}')"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10018 次 |
| 最近记录: |