Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当您应该在Rails应用程序中使用控制器中的变量时,将javascript代码放在何处?_Javascript_Ruby On Rails - Fatal编程技术网

当您应该在Rails应用程序中使用控制器中的变量时,将javascript代码放在何处?

当您应该在Rails应用程序中使用控制器中的变量时,将javascript代码放在何处?,javascript,ruby-on-rails,Javascript,Ruby On Rails,通常,我们将javascript文件放在app/assets/javascripts文件夹中。 但是,如果我们需要使用controller instance_val,我们应该将这个javascript文件放在前面提到的文件夹中,还是将javascript代码作为一个片段放在views文件中呢 我尝试向视图添加滑块。我用的是jQueryUI。 这是我的密码: $ -> $("#slider").slider( range: true, min: 0, max: <%= @t.am

通常,我们将javascript文件放在app/assets/javascripts文件夹中。 但是,如果我们需要使用controller instance_val,我们应该将这个javascript文件放在前面提到的文件夹中,还是将javascript代码作为一个片段放在views文件中呢

我尝试向视图添加滑块。我用的是jQueryUI。 这是我的密码:

$ ->
$("#slider").slider(
 range: true,
 min: 0,
 max: <%= @t.amount %>,
 values: [0, <%= @t.amount / 2 %>],
 slide: (event, ui)->
     $("#range_from").val(ui.values[0])
     $("#range_to").val(ui.values[1])
 )
$->
$(“#滑块”).滑块(
范围:对,
分:0,,
马克斯:,
值:[0,],
幻灯片:(事件,用户界面)->
$(“#range_from”).val(ui.values[0])
$(“#范围从u到”).val(ui.values[1])
)
我试图在js文件中使用@t,但是我得到了一个Nil类错误。 我不想为了一个好的文件组织而直接将此代码放在视图文件中。 有没有更好的方法来实现这段代码?

每种方法都可以

  • 将其放在“我不推荐”视图的底部,如下所示:


  • 你能告诉我们你想做什么吗?举个例子也许是为了说明问题。您不应该在任何地方公开控制器实例变量。您应该将它们作为本地对象传递给视图。但是既然你谈到了
    app/assets/javascripts
    ,那么一个示例代码片段肯定会更好。我们一直在使用Gem
    :javascript
      $("#slider").slider(
      range: true,
      min: 0,
      max: <%= @t.amount %>,
      values: [0, <%= @t.amount / 2 %>],
      slide: (event, ui)->
         $("#range_from").val(ui.values[0])
         $("#range_to").val(ui.values[1])
      )
    
    <div class="info" data-target="<%= @t %>"></div>
    
      t = $(".info").attr("data-target")
      $("#slider").slider(
      range: true,
      min: 0,
      max: t,
      values: [0, t/2],
      slide: (event, ui)->
         $("#range_from").val(ui.values[0])
         $("#range_to").val(ui.values[1])
      )