【问题标题】:Rails: How to suppress the generation of certain routesRails:如何抑制某些路线的生成
【发布时间】:2015-05-20 15:48:37
【问题描述】:

我的 routes.rb 中有这条路线

resource: session

它生成以下路线

session_path    POST    /session(.:format)  sessions#create
new_session_path    GET     /session/new(.:format)  sessions#new
edit_session_path   GET     /session/edit(.:format)     sessions#edit 

我不需要edit_session_path(至少我还不知道我是否需要它)并且我有一个用于登录的自定义路由,所以我不想要new_session_path。

有没有办法让 Rails 不生成这两条路径?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 routes


    【解决方案1】:
    resources :sessions, :except => [:new, :edit]
    

    【讨论】:

      【解决方案2】:

      或者,如果您知道需要哪些操作,可以直接通过only 提供,而不是排除它们:

      resources :sessions, only: [:create]
      

      【讨论】:

        【解决方案3】:

        如果您需要配置 1 个以上的资源

        with_options(except: [:new, :edit]) do |opt|
          opt.resource :session
          opt.resource :another_resource
          opt.resources :people
        end
        

        喜欢这个post

        或喜欢this - 类似于上面的答案。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-08-14
          • 2013-06-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-02
          相关资源
          最近更新 更多