MicropostsController #index中的NoMethodError

时间:2015-04-30 06:35:04

标签: ruby-on-rails methods controller

我无法想到这一点 - MicropostsController中的NoMethodError #index

我在网上搜索过,似乎无法做出正确的改变。我正在做迈克尔哈特尔的Rails教程,我在第2章,我们做微博。 这是index.html.erb

列出Microposts

<table>
  <thead>
    <tr>
      <th>Content</th>
      <th>User</th>
      <th colspan="3"></th>
    </tr>
  </thead>

  <tbody>
    <% @microposts.each do |micropost| %>
      <tr>
        <td><%= micropost.content %></td>
        <td><%= micropost.user_id %></td>
        <td><%= link_to 'Show', micropost %></td>
        <td><%= link_to 'Edit', edit_micropost_path(micropost) %></td>
        <td><%= link_to 'Destroy', micropost, method: :delete, data: { confirm: 'Are you sure?' } %></td>
      </tr>
    <% end %>
  </tbody>
</table>

<br>

<%= link_to 'New Micropost', new_micropost_path %>

Microposts控制器

Class MicropostsController < ApplicationController

  def index

  end

  def show

  end

  def new

  end

  def edit

  end

  def create

  end

  def update

  end

  def destroy

  end
end

1 个答案:

答案 0 :(得分:1)

您收到此错误是因为索引操作中没有微博实例变量,在索引操作中您应该像这样设置@microposts:

def index
  @microposts = Micropost.all
end