0
我使用Rails 5.我想構建形式如何在Rails 5中構建動態路由?
/my_objects/city_code
的URL,我想它鏈接到我的控制器,my_objects_controller.rb,特別是這種方法
def search_by_code
...
end
然後在這個方法中,我想能夠提取「city_code」作爲變量。我不知道如何做到這一點的路線。我該如何解決這個問題?
編輯:我嘗試添加到現有的塊我已經有了你的路線......
resources :my_objects do
collection do
post 'create'
get 'import'
get '/index', to: redirect('/races/index')
get 'search'
get 'stats'
get ':code', to: '#search_by_code'
end
end
,但它導致了下面的錯誤,當我開始我的應用程序...
/Users/davea/.rvm/gems/ruby-2.4.0/gems/actionpack-5.0.3/lib/action_dispatch/routing/mapper.rb:314:in `block (2 levels) in check_controller_and_action': '' is not a supported controller name. This can lead to potential routing problems. See http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use (ArgumentError)
我已經有了my_objects的資源塊,所以我嘗試將代碼的修改版本「get':code'添加到:'#search_by_code'」,但是出現錯誤。請參閱我的編輯。我可能沒有適當地運用你的邏輯。 – Dave
@Dave這是正確的方法。請修復您的代碼並讓我知道。 get':code',to:'my_objects#search_by_code' – vitulicny
你在說我應該從「collections do」方法中刪除所有的行,並將它們作爲單個行放入文件中。從「收集做」塊拆分出「發佈」創建'「? – Dave