我已经离开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
我知道我需要更多......现在确切地知道应该是什么。
非常感谢任何帮助!
答案 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以获得很好的参考。