2009年3月14日 星期六

Routes and url memo(1)

定義routes時有些參數可以用
1. defaults vs :name => value
最基本的就是 defaults, rails 會提供像這樣的預設值
:defaults => { :action => "index", :id => nil }

如果參數裡有預設值, 就不會秀出來在url 中

1.1 :name => value
如果沒給參數值的話, 這個才會有作用, 不過這會出現在url裡

2. :conditions vs requirement
conditions 相同才會進入該規則去跑, 才有機會跑到requirement
像conditions 就是做出 {:method => :post} 這樣的限定
requiremnet 則是用來要求參數要長怎樣, 符合怎樣的條件



url_for 取預設的原則是盡量採用已經有的, 還有改變較前面的參數, 就不提供較後面的參數
如果就是想改變前面後面不變, 可以使用overwrite_params,



傳入的controller name 如果以 "/" 開頭, 則會根據controller name 產生絕對路徑
傳入其他的則會是在當前url 下的 相對路徑




REST
add custom aciotn
collection => 像list , 抓群體的
member => 像show, 對單個的
new => 像new, 就是生新東西的

沒有留言: