【问题标题】:Rails 3 Routes with or without :id带或不带 :id 的 Rails 3 路线
【发布时间】:2011-05-15 04:22:48
【问题描述】:

有没有办法让路由允许:idnil

例如:

match 'product_specs/:id' => 'home#product_specs', 
      :as => :product_specs, 
      :via => :get

id 作为参数。但我也想传递一个像 product_specs_path() 这样的空参数,这样我也可以选择加载我的所有记录。

是否有路由匹配可以实现这一点?

【问题讨论】:

  • 这不只是索引和显示之间的区别吗? product_specs_path 与 product_specs_path(@product)
  • 这些是在模态窗口中加载的结果,有许多不同的操作。

标签: ruby-on-rails ruby-on-rails-3 routes


【解决方案1】:

也许如果你使用可选参数作为

# Routes
match 'product_specs/(:id)' => 'home#product_specs'

# Controller
def product_specs
  if params[:id].nil?
    product_specs = ProductSpecs.all()
  else
    product_specs = ProductSpecs.find(params[:id])
  end

这样的东西有用吗?

【讨论】:

  • 德文,非常感谢! (:id) 正是我需要的。再次感谢您。
  • 没问题,很高兴我能帮上忙!
猜你喜欢
  • 2013-12-06
  • 2014-03-17
  • 2012-03-07
  • 1970-01-01
  • 1970-01-01
  • 2020-11-13
  • 1970-01-01
  • 2012-07-13
相关资源
最近更新 更多