是否可以使以下代码更优雅?
我在购物车控制器中写了一些动作
resources :carts do
end
get "cart/search" => "carts#search"
get "cart/search_book" => "carts#search_book"
#search user
get "cart/search_user" => "carts#search_user"
get "cart/search_book_by_sn" => "carts#search_book_by_sn"
get "cart/load_user" => "carts#load_user"
答案 0 :(得分:3)
在路线上只使用搜索方法并使用参数不是更好。 这会使他们的路线更清洁。
例如
在模型上的方法:
def search(params)
end
在您的控制器中:
def index
Model.search(params)
end
并在您的路线中:
resources :cart do
collection do
get :search
end
end
希望这有帮助
答案 1 :(得分:2)
您可以使用路线收集
resources :carts do
collection do
get :search
get :search_book
get :search_user
get :search_book_by_sn
get :load_user
end
end
它可能有不同的路线url
检查rake routes
并使用生成的网址
了解更多信息routes guide
答案 2 :(得分:0)
你可以使用这样的东西
resources :cart do
collection do
get "search" => "carts#search"
get "search_book" => "carts#search_book"
get "search_user" => "carts#search_user"
get "search_book_by_sn" => "carts#search_book_by_sn"
get "load_user" => "carts#load_user"
end
end
我认为,你期待这一点,但上面的代码将简化你的路线。