加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 01:59:44 所属栏目:百科 来源:网络整理
导读:我对我的佣金路线输出感到困惑.举个例子(修剪过): profil GET /profil/:id(.:format) {:action="show",:controller="profil"} PUT /profil/:id(.:format) {:action="update",:controller="profil"} login GET /login(.:format) {:action="new",:controller=
我对我的佣金路线输出感到困惑.举个例子(修剪过):

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读