Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732

    [Rails] map.resources :news

    Ciao a tutti,

    ho un problemino con il routing di un modello uncountable ovvero il classico "news".

    Specificano: "map.resources :news" mi trovo con un, ovvio, conflitto di metodi quando si tratta di richiamare: "news_path()"

    Rails mi segnala giustamente un'ambiguità e mi chiede il parametro id della news in quanto pensa che si tratti di eseguire l'azione "show"

    Il conflitto infatti è tra i metodi "index" e "show" che in altri casi non si verificherebbe.

    Es:
    products_path() -> index
    product_path(id) -> show

    in questo caso invece
    news_path() -> index
    news_path(id) -> show

    Ho risolto creando un "index_news_path" ma come soluzione mi piace ben poco.

    Esiste un metodo più elegante per ovviare al problema su tutti i nomi "uncountable"?

  2. #2
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Risolto.

    il metodo "resources" consente anche l'argomento ":singular => :valore"

    Il caso d'uso nello specifico richiede quindi la seguente dichiarazione in "routes.rb"

    codice:
    map.resources :news, :singular => :news_istance
    A questo punto TUTTE le volte che si necessita un riferimento ad un URL per una singola news bisogna specificare "news_istance".

    Quindi:
    news_istance_path(id) -> /news/id
    new_news_istance_path() -> /news/new
    edit_news_istance_path(id) -> /news/id/edit

    Bye.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.