有没有办法让路线允许:id
或nil
?
例如:
match 'product_specs/:id' => 'home#product_specs',
:as => :product_specs,
:via => :get
将id
作为参数。但是我也希望传递一个像product_specs_path()
这样的空参数,以便我也可以选择加载我的所有记录。
是否有可以达到此目的的路线匹配?
答案 0 :(得分:8)
也许如果您使用可选参数
# 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
这样的事情会起作用吗?