按照官网http://guides.rubyonrails.org/getting_started.html上学习了一下例子。在过程中有很多刚开始没理解的地方,写下来。
首先,建立了一个resources :articles。然后rake routes出现了如下
$ rake
routes
Prefix
Verb URI
Pattern
Controller#Action
articles GET
/articles(.:format)
articles#index
POST
/articles(.:format)
articles#create
new_article GET
/articles/new(.:format)
articles#new
edit_article
GET /articles/:id/edit(.:format) articles#edit
article GET
/articles/:id(.:format) articles#show
PATCH
/articles/:id(.:format)
articles#update
PUT
/articles/:id(.:format)
articles#update
DELETE
/articles/:id(.:format)
articles#destroy
root GET
/
welcome#index
<%=
link_to
‘Back‘
, articles_path
%>,都是返回到index页面。但是articles_path对应的是/articles,对应了两个页面index和create,
<%=
form_for :article do |f|
%>
,这句话的意思就是为:article建立了一个表单,这个symbol的命名和这个应用没有关系,之前还以为因为resources
:articles的缘故,其实它随便换成什么都可以。后面可以用这个标识来从这个表单里面取值。关于redirect_to
@article
这种指向一个实例的用法和 <%=
link_to ‘Edit‘, edit_article_path(@article)
%>这种实例的路径的用法,我觉得是应为:id这个属性是唯一的来标识一个实例,所以实例和:id可以用来替换的。当使用实例时,有时候根据需要可以默认自动转化为:id。所以redirect_to
@article
会指向controller/:id。Getting Started with Rails (1),布布扣,bubuko.com
Getting Started with Rails (1)
原文:http://www.cnblogs.com/smallbottle/p/3690772.html