Help us understand the problem. What is going on with this article?

rails 保存したデータの表示

ActiveRecord クラス

テーブルから情報を取得するために必要なメソッドを兼ね備えたクラス。
例)ActiveRecordクラスに含まれるメソッドの一例

メソッド  用途
all    テーブルの全てのデータを取得する
find     テーブルのレコードの内、ある1つのデータを取得する
new     クラスのインスタンス(レコード)を生成する
save   クラスのインスタンス(レコード)を保存する

rails c コマンド

実際にRailsアプリケーション内に記載するメソッドを練習することができる機能。
rails cを起動することによって、コンソールで操作が可能になる。

$ rails c  # コンソールの起動
irb(main):001:0> 

irb(main):001:0> exit  # コンソールの終了
$

irb(main):001:0> Post.all # 全てのデータを取得

irb(main):001:0> Post.find(1) # 1番目ののデータを取得

irb(main):001:0> post = Post.find(1) # 変数postに1番目のデータを代入

irb(main):001:0> post.content # カラムデータの表示

コントローラーで情報を取得

作成したpostsコントローラーを以下のように編集

class PostsController < ApplicationController
  def index
    @post = Post.find(1)  # 1番目のレコードを@postに代入
  end
end

特定のカラムだけを表示

以下のような形でビューファイルを編集しcontentカラムを表示するようにする。

app/views/posts/index.html.erb
<h1>トップページ</h1>
<%= @post.content %>

複数データを取得できるようにコントローラーを編集

メソッド  用途
all    テーブルの全てのデータを取得する
find   テーブルのレコードの内、ある1つのデータを取得する

class PostsController < ApplicationController
  def index
    @posts = Post.all  # 全てのレコードを@postsに代入(複数データになる場合、@postから@postsに変数名を修正)
  end
end

eachを利用したビューファイル

eachの処理自体は表示をする必要が無いので、=が付いていない方のerbタグを使用。

app/views/posts/index.html.erb
<h1>トップページ</h1>
<% @posts.each do |post| %>
  <%= post.content %>
  <%= post.created_at %>
<% end %>
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした