未定义的方法`javascript_link_tag'

时间:2015-07-08 08:39:39

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4

我确定这很容易解决,但我已经解决了这个问题2个小时了。

我想要做的就是加载我的用户索引视图,它有一个boostrap表。在视图中我加载了一些JS文件。

当我尝试通过我的broswer访问它时,我收到此错误。

任何人都有任何线索如何解决它并加载JS文件?

未定义的方法`javascript_link_tag'

这是我的用户索引视图

<%= javascript_link_tag 'dataTables.bootstrap.js' %>
<%= javascript_link_tag 'jquery.dataTables.min.js' %>
<%= javascript_link_tag 'jquery-1.11.1.min.js' %>


<div class="page-header">
  <h1><%= @user.username %> <small>Edit Items</small></h1>
</div>


<table id="example" class="table table-striped table-bordered" cellspacing="0" width="100%">
  <thead>
    <tr>
        <th>Image</th>
        <th>Title</th>
        <th>Price</th>
        <th>Actions</th>
    </tr>
  </thead>
  <tbody>
    <% @item.each do |item| %>
      <tr>
          <td><div class ="small_fifty_image"><%= image_tag item.image.url(:thumb) %></div></td>
          <td><h4><%= link_to item.title, item_url(item.id) %></h4></td>
          <td>$<%=item.price %></td>
          <td>
          <button type="button" class="btn btn-default btn-sm"><%= link_to "Edit Items", edit_item_path(item) %></button>
          <button type="button" class="btn btn-default btn-sm"><%= link_to "Delete", item, method: :delete, data: { confirm: "You sure?" } %></button>
        </td>
      </tr>
    <% end %>
  </tbody>
</table>

3 个答案:

答案 0 :(得分:0)

<%= javascript_include_tag 'dataTables.bootstrap.js' %>
<%= javascript_include_tag 'jquery.dataTables.min.js' %>
<%= javascript_include_tag 'jquery-1.11.1.min.js' %>

代替。

答案 1 :(得分:0)

没有这样的方法javascript_link_tag。根据{{​​3}},您应该使用javascript_include_tag。此方法还允许您为资产路径中的各个脚本生成链接标记。

此外,请注意,宝石提供的文件通常不包含文件名中的版本,并且它们没有最小化。

答案 2 :(得分:0)

添加 application.html.erb

<%= javascript_include_tag "application" %>
<%= yield :javascript_includes %>

View.html.erb 的顶部:

<% content_for :javascript_includes do %>  
  <%= javascript_include_tag "dataTables.bootstrap.js" %>
  <%= javascript_include_tag "jquery.dataTables.min.js" %>
  <%= javascript_include_tag "jquery-1.11.1.min.js" %>
<% end %>

content_for块中的所有内容都将加载到yield :javascript_includes