【问题标题】:Routing rails url contains multiple parameters路由 rails url 包含多个参数
【发布时间】:2013-10-14 17:49:51
【问题描述】:

我正在做一个像 facebook 这样的分享应用程序,用户可以在他们的帖子上分享一个 url 我有一个用户发布表单,我从 url 参数填充表单 我想将 /sharer?urlparams 路由到我的控制器上的共享器操作而不删除 url 中的 url 参数的问题 有点像

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

注意更新 我找到了这些方法

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

【问题讨论】:

  • 请澄清您的问题。你到底有什么问题?
  • 我希望这些 url 路由到我的帖子控制器上的共享操作,而不在路由后更改 url

标签: ruby-on-rails ruby routes


【解决方案1】:

如果 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 使用集合而不是成员路由。我使用 member 是因为我的示例在 url 路径中使用了 id。因此它成为一个成员路由。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    相关资源
    最近更新 更多