2013-10-08 86 views
0

我正在做一个共享应用程序,如Facebook,在那里用户可以在他们的帖子上共享一个URL 我有一个用户帖子表单,我从URL params填充表单 我想要路由/ sharer?urlparams到我的控制器上的共享器操作,而无需删除url中的url参数 类似于路由栏URL包含多个参数

localhost:3000/sharer?params [:url] =“http://stackoverflow.com/questions/ask” & params [:title] =“”& params [:description] =“”

NB更新 I foun d这些方法

match'/sharer/:url'=>"manys#sharer",:constraints => {:url => /.*/} 
+0

请澄清你的问题。你的问题到底是什么? – depa

+0

我想要这些URL路由到我的帖子控制器上的共享者操作,而不改变路由后的网址 –

回答

0

如果url和控制器名称不相等最好的方法是下面的方法。

match "/sharer/:id/share" => redirect{ |params, request| "/posts/#{params[:id]}/share?#{request.query_string}" } 

如果url名称和动作名称是相同的,你可以使用类似这样的东西。

resources :sharer do 
member do 
    get :share 
end 
end 

根据您的网址,您可以使用集合而不是成员路由。我使用了成员,因为我的示例在URL路径中使用了id。因此它成为会员路线。