Rails 初级练习 额外作业:新增一个 'about' 页面的解题思路和方法

解题方法和思路
step1操作
打开app/config/routes
在Rails.application.routes.draw do
root 'topics#index'
resources :topics do
member do
post 'upvote'
post 'downvote'
end
end
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end
最后一个end 前添加
get 'about' => 'topics#about'
得到:


!step1思路
这么做的思路是,给about 添加路径,你可以rake routes,看新产生的路径:

发现产生的路径为: about_path
(补充说明,其实一开始在routes.rb中尝试输入的是 read about, 我输入rake routes,一看页面显示就知道是错的。于是我看论坛帖子,看了http://nathanye.logdown.com/posts/1472023-study-notes-09-primary-exercise-3-13-extra-work-implement-points-button-and-the-about-page这篇文章才知道是是输入 get 'about' => 'topics#about'。然后rake routes, 发现了 verb 这一栏的动词有put, post, get, delete,确实没有read。所以通过这一尝试,我更深入地理解了 crud和 restful。






参考资料链接:https://fullstack.xinshengdaxue.com/posts/69
step2 操作
打开app/controllers/topics_controller.rb
在 def updown 的end之后添加
def about
end
得到

!step2 思路
定义about 的 action, 所以需要在app/controllers/topics_controller.rb中添加
def about
end

step3 操作
打开app/views/topics/index.html.erb
中在<%= link_to 'New Topic', new_topic_path %>
后添加


<%= link_to 'about', about_path %>
得到:


!step3 思路
定义点击‘about'时,去往about_path页面。

step4 操作
在终端输入: touch app/views/topics/about.html.erb
!step4思路
需要建立about 的页面。

step5 操作
打开app/views/topics/about.html.erb
填入:

This is about page!

Welcome to this page!

<%= link_to 'back', topics_path %>
得到:


!step5 思路
给about 的页面添加内容,和定义点击'back'时,路径指向topics_path。

Comments

comments powered by Disqus