ruby-on-rails - ?在routes.rb和map.with_options ruby​​中

标签 ruby-on-rails routes

我在 ruby​​ 代码中使用命名路由。我来自 phpworld,您将使用 $_GET$_POST 传递信息。我想知道是否有办法将其放入routes.rb中,如下所示:

map.with_options :controller => 'test' do |m|
  m.someurl 'someurl?search=someterm', :action => 'index'
end

目前返回can't conversion Hash into String。谢谢!

贾斯汀

最佳答案

如果您只想使用查询字符串,则根本不需要告诉您的路线。 params 对象将包含所有传递的参数。

map.with_options :controller => 'test' do |m|
  m.some_url 'someurl', :action => 'index'
end

然后当您使用辅助方法时:

some_url_path(:search=>“someterm”)

将为您创建查询字符串值。

但是,如果您想将参数传递给 Controller ​​,您可以将它们绑定(bind)到您的路由中:

map.connect ':controller/:action/:id/:search' 

在您的 Controller 中,您可以访问:

params[:search]

在你的情况下,这将是这样的:

map.with_options :controller => 'test' do |m|
  m.some_url 'someurl' :action => 'index'
end

Rails Routing Guide提供了关于该主题的精彩概述。

关于ruby-on-rails - ?在routes.rb和map.with_options ruby​​中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2107369/

相关文章:

routes - 如何在 Strope 中路由群聊消息

ruby-on-rails - Rake任务rails :upgrade:check is not working on windows. Rails 3升级问题

ruby-on-rails - Active Admin - 用户和管理员的相同模型

html - 如果样式设置为样式 ="display:none",是否可以通过网络抓取网站

javascript - AngularJS - 在 Controller 名称中使用 NgRoute 的参数

node.js - 性能/延迟差异 - Node.js 中的动态路由与静态路由

ruby-on-rails - 通过 Rails 和 Postgresql 中对象的属性总和来限制查询

ruby-on-rails - 使用 Wicked PDF 将 PDF 附加到电子邮件时如何指定布局

c# - .Net Core多语言路由

ruby-on-rails-3 - 设计(或 OmniAuth)在登录后将 "#_"附加到 URL