用于cms cms供电站点的Rails路由

时间:2014-08-25 14:51:20

标签: ruby-on-rails routes

我已经离开Rails一段时间但我有一个在rails上运行的网站,我创建了一个页面编辑器。我的路线需要一些帮助。

我希望在网站的前端为我的网址添加类似内容:

// domain / welcome / pagename / page或// domain / welcome / page / pagename

然后在welcome_controller中我有这个:

def page
# I provide the user with the a page
@mypage = Contents.find_by_name(params[:pagename])
end

然后在页面视图本身中,我可以按照我认为合适的方式呈现@mypage记录的各个方面。

但是,我需要一些路线帮助才能让这一切按照我想要的方式运作。

目前,我的欢迎路线是这样的:

  resources :welcome do
     collection do
        get :site
        get :home
        get :page
        get :thankyou
        post :newslettersignup
        post :sendcontact
      end
    end

我知道我需要更多......现在确切地知道应该是什么。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用非资源路由轻松完成此操作:

get '/welcome/:pagename/site', to: 'welcome#site'
get '/welcome/:pagename/home', to: 'welcome#home'
get '/welcome/:pagename/page', to: 'welcome#page'
get '/welcome/:pagename/thankyou', to: 'welcome#thankyou'
post '/welcome/:pagename/newslettersignup', to: 'welcome#newslettersignup'
post '/welcome/:pagename/sendcontact', to: 'welcome#sendcontact'

:pagename语法允许将该网址段的值包含在params[:pagename]中。 to: 'welcome#site'位表示"将此路由到WelcomeController#site操作。"

在使用路线时,请参阅Rails Routing from the Outside In以获得很好的参考。