Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
Javascript 在Rails 3中,将.js.erb文件放在哪里_Javascript_Ruby On Rails 3_Erb - Fatal编程技术网

Javascript 在Rails 3中,将.js.erb文件放在哪里

Javascript 在Rails 3中,将.js.erb文件放在哪里,javascript,ruby-on-rails-3,erb,Javascript,Ruby On Rails 3,Erb,我有一些小的javascript,如果它们是.erb的一部分,即foo.js.erb的一部分,那么它们就更容易、更清晰了。我应该把这些文件放在哪里?如果我将相关的行放在.html.erb文件中,我可以看到我的代码运行良好,但这可能不是一个好主意。换句话说,这不是一个好主意: <script> $(function() { $('#reports').bind('show', function(e) { if ($(e.target).attr('id') ==

我有一些小的javascript,如果它们是.erb的一部分,即foo.js.erb的一部分,那么它们就更容易、更清晰了。我应该把这些文件放在哪里?如果我将相关的行放在.html.erb文件中,我可以看到我的代码运行良好,但这可能不是一个好主意。换句话说,这不是一个好主意:

<script>
  $(function() {
    $('#reports').bind('show', function(e) {
      if ($(e.target).attr('id') == 'reports-navlist')
        $.ajax({
          url: '<%= program_reports_path(@program) -%>',
          data: { toggle: "tab" }, 
          success: function(html){
            $("div#report-html-content").html(html);
          }
        })
    });
  });
</script>


<div class="container">
  <div class="row">
    <div class="span2">
      <ul class="nav nav-pills nav-stacked" id="reports">
        <li>
          <a href="#" data-toggle="pill">Trend lines for all questions</a>
        </li>
        <li>
          <a href="#" data-toggle="pill" id="reports-navlist">Summart of all queries</a>
        </li> 
        <li class="active">
          <a href="#" data-toggle="pill">Trend lines for all questions</a>
        </li>
        <li>
          <a href="#" data-toggle="pill">Details on all questions</a>
        </li>
      </ul>
    </div>
    <div class="span10" id="report-html-content">
    </div>
  </div>
</div>

$(函数(){
$(“#报告”).bind('show',function(e){
if($(e.target).attr('id')=='reports navlist')
$.ajax({
url:“”,
数据:{切换:“选项卡”},
成功:函数(html){
$(“div#report html content”).html(html);
}
})
});
});

这里的最佳实践是什么?谢谢大家!

只需将同一个控制器的名称目录与您正在调用的动作名称JS放在一起。这与放置一个html.erb文件是一样的,它不是由某个动作触发的,特别是,我真的希望它成为一个视图的一部分。即,相当于将其逐字放入.html.erb文件。您是否在控制器代码中处理格式响应?你能发布你的
程序报告吗
动作代码是用controller编写的吗?我可以,但同样,如果我把js直接放在html.erb文件中,效果很好。但无论如何,你是说当我从js脚本调用program_reports_path(@program)时运行的控制器吗?是的,你可以发布你调用的方法,不需要整个控制器的代码。