ruby-on-rails – 了解rake路由输出

ruby-on-rails – 了解rake路由输出,第1张

概述我对我的佣金路线输出感到困惑.举个例子(修剪过): profil GET /profil/:id(.:format) {:action=>"show", :controller=>"profil"} PUT /profil/:id(.:format) {:action=>"update", :controller=>"profil"} login GET 我对我的佣金路线输出感到困惑.举个例子(修剪过):

profil GET    /profil/:ID(.:format)     {:action=>"show",:controller=>"profil"}       PUT    /profil/:ID(.:format)     {:action=>"update",:controller=>"profil"} login GET    /login(.:format)      {:action=>"new",:controller=>"sessions"}       POST   /login(.:format)      {:action=>"create",:controller=>"sessions"}logout GET    /logout(.:format)     {:action=>"destroy",:controller=>"sessions"}

我一直以为:

>第2行:可以使用带有PUT方法的profil_path访问路径.
>第4行:可以使用POST方法使用POST方法访问路径.

结论:第一列为空(第2行和第4行)的行将跟随其上方的行.

但是,我一直在尝试向url添加参数.所以,我在routes.rb中添加了这些代码:

namespace :admin do    resources :pengguna_bulk,:only => [:new,:create]    resources :pengguna do      collection do        get 'index/:page',:action => :index      end    end  end

新的rake路线输出(修剪):

admin_pengguna_bulk_index POST   /admin/pengguna_bulk(.:format)        {:action=>"create",:controller=>"admin/pengguna_bulk"}  new_admin_pengguna_bulk GET    /admin/pengguna_bulk/new(.:format)    {:action=>"new",:controller=>"admin/pengguna_bulk"}                          GET    /admin/pengguna/index/:page(.:format) {:action=>"index",:controller=>"admin/pengguna"}     admin_pengguna_index GET    /admin/pengguna(.:format)             {:action=>"index",:controller=>"admin/pengguna"}                          POST   /admin/pengguna(.:format)             {:action=>"create",:controller=>"admin/pengguna"}       new_admin_pengguna GET    /admin/pengguna/new(.:format)         {:action=>"new",:controller=>"admin/pengguna"}      edit_admin_pengguna GET    /admin/pengguna/:ID/edit(.:format)    {:action=>"edit",:controller=>"admin/pengguna"}           admin_pengguna GET    /admin/pengguna/:ID(.:format)         {:action=>"show",:controller=>"admin/pengguna"}                          PUT    /admin/pengguna/:ID(.:format)         {:action=>"update",:controller=>"admin/pengguna"}                          DELETE /admin/pengguna/:ID(.:format)         {:action=>"destroy",:controller=>"admin/pengguna"}

我的问题是,为什么第三条路线看起来像是在第二条路线下?它是空的,因为Rails不知道要命名它,我必须使用get’index /:page’,:action => :index,:as => :页面命名吗?

那么,这意味着,第一列空白的路线并不总是遵循上述路径?

解决方法

I’ve always thought:

line 2: Route can be accessed using profil_path with PUT method. line 4: Route can be accessed using login_path with POST method.

Conclusion: lines with the first column empty (line 2 and 4) would
follow the one above it.

除了结论之外,一切都是正确的. profil_path扩展为/profil/:ID(.:format).如果用方法GET调用它,它会响应你的第一条路线,如果用方法PUT调用它,它会响应你的第二条路线.

但同样不适用于第二组路线. /admin/pengguna/index/:page(.:format)没有任何命名助手.如果你想要一个命名助手,你应该定义路线,如:

get 'index/:page',:action => :index,:as => :what_ever_named_helper_you_want
总结

以上是内存溢出为你收集整理的ruby-on-rails – 了解rake路由输出全部内容,希望文章能够帮你解决ruby-on-rails – 了解rake路由输出所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1266413.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存