4

嗨,我有以下内容:

 = link_to @place.name, '#', onclick: 'get_maps(#{@location_string});'

我目前正在尝试使用 rails 变量参数链接到 javascript 调用,但由于某种原因,rails 变量@location_string没有被传递给其中包含变量的 javascript 调用。目前它被呈现为一个字符串:

<a href="#" onclick="get_maps(#{@location_string});">3308 Kanaina Ave</a>

关于如何解决这个问题的任何想法?

4

3 回答 3

5

你需要把:

= link_to @place.name, '#', :onclick => "get_maps('#{@location_string}');"

onclick 是link_to 的一个参数。
get_maps 里面的参数应该放在''里面。

于 2012-11-03T19:41:08.530 回答
4

#{}语法在单引号内不起作用。你要

"get_maps('#{@location_string}');"
于 2012-11-03T19:05:38.630 回答
2

人们说使用内联 JS,例如 onclick=''、onmouseover 等不好。您可以通过链接的数据属性传递 ruby​​ 变量,并使用 jquery click() 函数附加事件

于 2012-11-03T21:12:31.307 回答