Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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
Ruby on rails 3 获取NoMethodError,nil:NilClass的未定义方法_Ruby On Rails 3_Null - Fatal编程技术网

Ruby on rails 3 获取NoMethodError,nil:NilClass的未定义方法

Ruby on rails 3 获取NoMethodError,nil:NilClass的未定义方法,ruby-on-rails-3,null,Ruby On Rails 3,Null,我是一个初学者,正在尝试在我的图书索引视图中显示与图书相关联的标签名(通过标签)。问题是,出于某种原因,当我运行以下命令时,我得到了nil:NilClass的未定义的方法“标记”: <% for book in @books %> <div id="book"> <div class="bookHeader"> <h5 class="bookTitle"><%= link_to book.title, book %

我是一个初学者,正在尝试在我的图书索引视图中显示与图书相关联的标签名(通过标签)。问题是,出于某种原因,当我运行以下命令时,我得到了nil:NilClass的
未定义的方法“标记”:

  <% for book in @books %>
  <div id="book">
    <div class="bookHeader">
      <h5 class="bookTitle"><%= link_to book.title, book %></h5>
    <div class="bookTags">
      <ul class="tags">
        <li>
          <% for tag in @book.tags %>
          <%= link_to @tag.name %>
          <% end %>
        </li>
      </ul>
    ...
  <% end %>
在控制台中,它显示我确实有关联的标记:

>> @book = Book.find(12)
>> @book.tags.count
>> 3

现在我想知道我是否需要为这些书是否有标签或类似的东西构造一个语句。有人有什么想法吗?如果我需要提供更多的代码,请告诉我。

您的代码的问题是您有
,而
@book
不存在。您需要的是

代码上的问题是您有
,而
@book
并不存在。您需要的是

定位准确。他还应该将
改为
。谢谢蒂亚戈和米沙。我想我之前试过了,但没有看到效果。但那是因为我有标签的那本书被埋在了书单里,我没有打电话给他。反过来看索引。哎呀!好的。他还应该将
改为
。谢谢蒂亚戈和米沙。我想我之前试过了,但没有看到效果。但那是因为我有标签的那本书被埋在了书单里,我没有打电话给他。反过来看索引。哎呀!
>> @book = Book.find(12)
>> @book.tags.count
>> 3