昨天我們知道東西有確實存進去資料庫了,
那我們今天要讓它秀在列表裡面,
在我們的 articles index
可以放在新增文章的下面
我們使用each do
的用法
<% @articles.each do |article| %>
<%= article.title %> <br>
<%= article.content %>
<% end %>
為了讓他排列整齊,也讓HTML可以更有語意,
可以把它用無序清單<ul><li>
來包覆
<ul>
<% @articles.each do |article| %>
<li>
標題: <%= article.title %>
內容: <%= article.content %>
</li>
<% end %>
</ul>
這樣再繼續新增,他就會繼續顯現在上面,
那如果內容太多的話不就會占滿頁面了嗎?
我們接著要做單篇文章的頁面!
那我們就需要先做一個連結,我們可以直接把剛才撈出來的文章做成連結
我們可以用 do end
的方式把標題跟內容都用連結包起來。
<ul>
<% @articles.each do |article| %>
<li>
<%= link_to article_path(article) do %>
標題: <%= article.title %>
內容: <%= article.content %>
<% end %>
</li>
<% end %>
</ul>
接著我們就要做一個 show 的頁面
一樣我們去 views/articles
新增一個show.html.erb
然後我們在裡面也是要撈出他的 title 跟 content
<%= @article.title %>
<%= @article.content %>
只有這樣做的話,他會找不到 @article ,所以我們要去 controller 把參數做給它
def show
@article = Article.find(params[:id])
end
這樣就可以成功地把個別的文章頁面給做出來!!!