将rails变量传递给js函数

mta*_*tay 8 javascript ruby ajax params

道歉 - 我是使用Ruby on Rails的新手.关于它是如何工作仍然有点困惑.

现在,在我看来,在我的滚动条div下,我有这个代码:

#scroller
 -@other_images.each do |img|
  .thumbnail_wrapper
    .thumbnail_image
      =image_tag img.image.url(:thumbnail), :class => 'button' , :onClick => "replaceImg(img.id);"
Run Code Online (Sandbox Code Playgroud)

@other_images是一个变量,它包含我想在页面上显示的所有缩略图图像.单击一个将使用自己的大图像刷新其他地方的div.

相应的js函数是:

:javascript
 function replaceImg(id){
  var url = '/images/refresh/' + id;
  new Ajax.Updater('content_image', url);
 }
Run Code Online (Sandbox Code Playgroud)

如果我只是写一个有效的网址,这是有效的.但是将参数"id"传递给js函数是行不通的.我很茫然......我错过了什么?

如何将这个rails变量 - img ---传递给我的js?它只是停留在那个循环中.

任何帮助将非常感激.

har*_*ald 6

试试这个:

img.image.url(:thumbnail), :class => 'button' , :onClick => "replaceImg(#{img.id});"
Run Code Online (Sandbox Code Playgroud)

#{...}构造在大括号内执行ruby代码,并用结果替换整个构造.可以在任何想要使用ruby变量或方法中的某些内容替换字符串的一部分的地方使用.