Re: [問題] Rails route 的 prefix 欄位

作者: tonytonyjan (南洋大兜蟲)   2014-08-29 03:14:38
我認為不是 method_missing 的用法
# actionpack/lib/action_dispatch/routing/route_set.rb:271
def define_named_route_methods(name, route)
define_url_helper route, :"#{name}_path", route.defaults, name, PATH
define_url_helper route, :"#{name}_url", route.defaults, name, FULL
end
還是我誤會了你的意思?
※ 引述《JokerCatz (JokerCatz)》之銘言:
: ※ 引述《t3825288 (猩爺)》之銘言:
: : 想請問當我們在 Rails 當專案底下輸入
: : rake routes時, 他會秀出網站中現有的路徑
: : 其中有一個 prefix 欄位是甚麼
: : 書上是寫說他是 APP 內部的名稱
: : 可以直接呼叫它作為我們的路徑
: : 請問有例子嗎
: : 比如說我想設首頁
: : root to:'users#index'
: : 我原本以為可以取代成
: : root to:'users' 之類的
: : 結果好像用法不是這樣
: : 請問有哪個網站可以參考這個 prefix 的用法嗎?
: : 謝謝
: prefix是method_missing的用法,請參閱Ruby,以下解釋看法
: Prefix Verb URI Pattern
: edit_dashboard_profile_index GET /dashboard/profile/edit(.:format)
: Controller#Action
: dashboard/profile#edit
: 太長寫成兩段
: 在controller或view內使用edit_dashboard_profile_index_path會得到後面的URI網址
: 簡單的來說就是Prefix加上_path就可以得到網址的意思,而所有餵網址的地方都可以餵
: String的url進去
: 好處是Rails可以幫你檢查相對網址是否存在的問題,缺點是效能低很多
: 至於你最上面的demo,如果你懂舊版的寫法就知道前因後果的
: root to:'users#index'
: 全等於
: root :controller => 'users' , :action => 'index'
: 所有的to都可以這樣翻譯就是了...
: RailsFun.tw的課已經上到第二個cycle了,如果你想參加可以過來就是 :)

Links booklink

Contact Us: admin [ a t ] ucptt.com