[Ruby on Rails] 文章刪除修改實作、修改時區和換行
Jul 22, 2017LearningRails
網站傳送門: https://gentle-inlet-97986.herokuapp.com/
主題是一個書評網站,需要登入才能發表評論,可以自行上傳書的圖片,也可以搜尋現有的書籍資訊。
(基本架構是照著Rails 101的教學做出來的,自己另外再加了一些小功能)
此篇主要紀錄如何實作Rails 101教程當中沒有提供答案的文章修改刪除功能。
文章刪除修改實作
在app/controllers/posts_controller.rb
下定義edit
method
def edit
@group = Group.find(params[:group_id])
@post = Post.find(params[:id])
end
要記得@group
跟 @post
都要定義!不然會出現 NoMethodError
無論是Edit, update, destroy都需要
另外,edit介面也要同時加上@group
跟@post
,用array 方式表示,系統才能判斷是哪一個group裡面的哪一個post
<%= simple_form_for [@group, @post] do |f| %>
.....
Simple_format &日期顯示
換行用,只要將要換行的內容放入simple_format()
當中就可以了
<% @posts.each do |post| %>
<tr>
<td><%= simple_format(post.content) %></td>
<td><%= post.user.email %></td>
<td><%= post.created_at.to_date %></td>
</tr>
<% end %>
關於日期的顯示方式,若是只使用最簡單的post.created_at
會以這樣的方式呈現:
若想要讓樣式看起來簡潔一些,可以加上created_at.to_date
(或是 created_at.strftime("%Y-%m-%d")
)就會只顯示到日期,不會出現後面的UTC之類的
時區更改
想要改到自己地區的時區,到config/application.rb
改設定:
config.time_zone = 'Osaka'
config.active_record.default_timezone = :local