Rails RESTful URL: Tutti sotto certa categoria
-
27-10-2019 - |
Domanda
Attualmente io uso la mia azione messaggi # indice per mostrare tutti i messaggi o filter'em per categoria nel caso la sua specificato:
PostsController:
def index
@posts = Post.all(:order => "created_at DESC")
@posts = @posts.by_category(params[:category_id]) #Custom named_scope
end
Percorsi:
map.connect '/post/by_category/:category_id', :controller => :posts, :action => :index
map.resources :users
/ post tornerà tutti i messaggi e / messaggi / by_category / 1 restituirà tutti i messaggi nella categoria 1
Mi chiedo se c'è un modo di fare più RESTful , e magari per ottenere alcune belle url_paths.
Ho letto le guide ( Utilizzando la più recente ramo 2.3 Rails ), ma né i percorsi nidificati né collezioni sembrava appropriata per questo caso. Grazie:)
Soluzione
resources :posts
resources :categories do |categories|
categories.resources :posts
end
gli URL poi:
/posts
- tutti i messaggi
/posts/:id
-certain posta ??p>
/categories
- tutte le categorie
/categories/:id
- determinata categoria
/categories/:id/posts
- tutti i messaggi all'interno di una determinata categoria.