Ruby on rails 如何简化Rails 3上的路线
是否有可能使以下代码更加优雅 我在cart controller中编写了一些操作Ruby on rails 如何简化Rails 3上的路线,ruby-on-rails,routes,Ruby On Rails,Routes,是否有可能使以下代码更加优雅 我在cart controller中编写了一些操作 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/sear
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"
您可以对路由使用集合
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
有关更多信息,请使用路线收集
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
要了解更多信息,您可以使用以下内容
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
我不认为您期望这样,但上面的代码将简化您的路线。您可以使用类似的方法
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
我不认为您期望这样,但上面的代码将简化您的路由。在路由上只使用搜索方法并使用参数不是更好吗。 这将使他们的路线更干净 乙二醇 在模型上的方法中:
def search(params)
end
在控制器中:
def index
Model.search(params)
end
在你的路线上:
resources :cart do
collection do
get :search
end
end
希望这对您有所帮助在路由上只使用搜索方法并使用参数不是更好吗。 这将使他们的路线更干净 乙二醇 在模型上的方法中:
def search(params)
end
在控制器中:
def index
Model.search(params)
end
在你的路线上:
resources :cart do
collection do
get :search
end
end
希望这有助于使其更具可读性和简短,您可以使用逗号分隔的值。例如,
get:search、:search\u book、:search\u user、:search\u book\u by\u sn、:load\u user
。此外,您还可以通过在先前的get方法中添加,on::collection
来删除集合do..end
块。@ManojMonga:+1要使其更具可读性和简短性,您可以使用逗号分隔的值。例如,get:search、:search\u book、:search\u user、:search\u book\u by\u sn、:load\u user
。此外,您还可以通过将::collection上的,on::collection
附加到上一个get方法来删除集合do..end
块。@ManojMonga:+1