0

是否可以使以下代码更优雅?

我在购物车控制器中写了一些动作

  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"
4

3 回答 3

3

仅在路线上使用搜索方法并使用参数会不会更好。这将使他们的路线更清洁。

例如

在模型上的方法中:

def search(params)

end

在您的控制器中:

def index
   Model.search(params)
end

并在您的路线中:

resources :cart do
   collection do
       get :search
   end
end

希望这可以帮助

于 2013-10-23T12:01:51.947 回答
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并使用生成的 url

欲了解更多信息路线指南

于 2013-10-23T06:10:54.397 回答
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

我不认为,你期待这个,但上面的代码会简化你的路线。

于 2013-10-23T06:14:15.597 回答