我认为不是 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了,如果你想参加可以过来就是 :)