iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
自我挑戰組

Rails 手工打造自己的部落格 系列 第 16

Rails 手工打造自己的部落格 16 - CRUD -R

  • 分享至 

  • xImage
  •  

昨天我們知道東西有確實存進去資料庫了,
那我們今天要讓它秀在列表裡面,
在我們的 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

這樣就可以成功地把個別的文章頁面給做出來!!!


上一篇
Rails 手工打造自己的部落格 15 -Rails console
下一篇
Rails 手工打造自己的部落格 17 - CRUD -U
系列文
Rails 手工打造自己的部落格 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言