activerecord显示全表

时间:2016-02-11 04:14:29

标签: ruby-on-rails activerecord

对于什么可能是一个简单的问题非常困惑。试图通过遍历它来显示我的表的一列,但不知怎的,在此之前我的整个表都显示出来。

输出:

所有我的故事

[#Ttory id:1,思想:nil,created_at:" 2016-02-11 03:20:07",updated_at:" 2016-02-11 03:20:07& #34;,#Story id:2,思考:"你好我的名字是帕特里克",created_at:" 2016-02-11 03:22:04",updated_at:&#34 ; 2016-02-11 03:22:04",#Story id:3,思想:" Dennis很酷",created_at:" 2016-02-11 03:22:37& #34;,updated_at:" 2016-02-11 03:22:37"]

思想

你好,我的名字是帕特里克

丹尼斯很酷

控制器代码

class StoriesController < ApplicationController

def index
  @stories = Story.all
end

def show
  @story = Story.find(params[:id])
end

def new
  @story = Story.new
end

def create
  @story = Story.new(story_params)

  if @story.save
    redirect_to @story
  else
    render 'new'
  end
end

private
  def story_params
    params.require(:story).permit(:thought)
  end

end

查看代码

<h1>All My Stories</h1>

<table>
<tr>
  <th>Thoughts</th>
</tr>

  <%= @stories.each do |s| %>
    <tr>
      <td><%= s.thought %>
    </tr>
  <% end %>
</table>

使用rails generate model Story thought:string

创建了我的模型

2 个答案:

答案 0 :(得分:1)

那是您在=<%=的b / c,它将打印@stories

试试这个。

<% @stories.each do |s| %>
  <tr>
    <td><%= s.thought %>
  </tr>
<% end %>

答案 1 :(得分:-1)

删除视图中 @stories 之前的 = 。它应该是这样的:

<% @stories.each do |s| %>
  # your code here
<% end %>