#投稿詳細ページの作成
STEP1
ルーティングにget "posts/:id => "posts#show"
を記述。
※posts/〇〇すべてを読み込むので注意が必要。下に位置させる。
STEP2
コントローラにshowアクションを作成し、
def show
@post = Post.find_by(id:params[:id])
を記述。
end
※paramsでルーティングで指定したidを取得している。
※paramsはハッシュなので、params[:id]とすることで、id番号だけ取り出せる。
※find_byメソッドで(第一引数:指定したいカラム 第二引数:〇〇)を指定し、変数に代入。idカラム以外も指定可能。
STEP3
ビューに、<%= @post.content %>
<%= @post.created_at %>
と記述で表示。
#投稿一覧ページの作成
STEP1
postsコントローラのindexアクション内の@postsに、Post.allで取得したデータを代入しましょう。
def index
@posts = Post.all
end
ビューでは@postsに代入されている配列データをeach文で1つずつ変数postに代入し、投稿内容を繰り返し表示させていきましょう。
<% @posts each do |post| %> <%= post.content %>
STEP2
各投稿の内容の部分をクリックすると詳細ページに移動できるように、link_to(post.content, "/posts/#{post.id}")
とします。