ruby-on-rails – rails路由别名

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – rails路由别名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个名为Spaces的模型,它有不同类型的地方……比如Bars,Restaurants等.它有相同的列,相同,模型,控制器等.没有花哨的STI,我只有一个名为Space_type的字段我想确定一个别名的路线.

而不是domain.com/spaces/12345,它将是/ bars / 12345或/ clubs / 12345

目前我有:

resources :spaces do
    collection do
      get :update_availables
      get :update_search
      get :autocomplete
    end
    member do
      post :publish
      post :scrape
    end
    resources :photos do
      collection do
        put :sort
      end
    end

    resources :reviews
  end

另外,有没有办法可以做到这一点,以便我随时使用space_url它可以找出使用哪一个?

解决方法

路线不是直接与您的模型交互的方式.因此,只要您编写标准路线,就可以使事情顺利进行.例如,要为您的space_controller(或控制器的名称)创建/ bars / 12345和/ clubs / 12345,您可以创建以下路由:
scope :path => '/bars',:controller => :spaces do
  get '/:id' => :show_bars,:as => 'bar'
end  

scope :path => '/clubs',:controller => :spaces do
  get '/:id' => :show_clubs,:as => 'clubs'
end

猜你在找的Ruby相关文章