Rails 5:不带控制器的嵌套路线

时间:2019-03-01 21:40:26

标签: ruby-on-rails

我当前正在尝试向Rails应用添加特定的嵌套路线。我之前已经添加了嵌套路线和其他路线,但从未做过类似的事情,我想知道这是否可能。

我想最终达到这个结果

get '/marketplace' => 'pages#marketplace'
get '/marketplace/airbnb' => 'marketplace#airbnb'

现在我有一个执行此操作的PagesController

def marketplace
end

还有一个视图marketplace.html.erb

如何将airbnb路线附加到marketplace操作中?

1 个答案:

答案 0 :(得分:0)

get '/marketplace/airbnb' => 'pages#marketplace', :defaults => { :airbnb => true }

因此,URL /marketplace/airbnb将使用marketplace等于true的params['airbnb']操作。这并非万无一失,因为有人可以将/marketplace?airbnb=foobar/marketplace/airbnb?airbnb=foobar设置为params['airbnb'] = 'foobar'使用您的网站。