[ruby-it] link_to con il blocco...
Andrea (Q)
q a ptumpa.com
Ven 27 Mar 2009 00:11:03 CET
On 26 Mar 2009, at 22:27, Alessandro Ale wrote:
> Andrea Cuius wrote:
>> ok, partiamo dal presupposto che non stiamo usando php.
>>
>> il tuo primo link funziona si, ma non usi restful, sarebbe meglio
>> avere una cosa del tipo
>>
>> <%= link_to "Messages", messages_path %>
>
> si l'avevo letto... ma (per mia ignoranza) non mi trovo molto con i
> path...
> correggimi se sbaglio dovrei definire dentro routes.rb una riga cosi':
>
> map.messages '/messages/inbox', :controller => "messages",:action =>
> "inbox"
>
> ma il vantaggio quale è?
>
tutti i controller funzionano nello stesso modo con gli stessi metodi,
utilizzi il controller come una risorsa sequando il pattern CRUD come
per i modelli.
il vantaggio è che hai delle url sensate, codice più semantico e
leggibile, ovviamente ti aiuta anche a riutilizzare il codice, ad
esempio utilizzando stessi controller ma con url e quindi compiti
diversi, se nella tua app hai messaggi magari vuoi utilizzarli in modo
diverso (polimorfismo) per associarli a utenti o gruppi avendo cose
del tipo Users/1/messages oppure groups/1/messages
se da console lanci questo comando e vedi tutte le routes già definite
rake routes
o magari (sperando che nn hai windows)
rake routes | grep BLALBABLA
come hai detto tu hai routes.rb per definire TUTTE le tue routes e
come sono associate fra di loro
ah la tua definizione della route è medievale, se il msg è associato
all utente dovresti fare una cosa del tipo
map.resources :users do |users|
users.resources :message
end
dopo che hai definito questa route prova a vedere che url ti genera
lanciando "rake routes"
>
>> forse stai sbagliando approccio, unread_messages andrebbe definito
>> nel
>> modello User.
>> current_user.unread_messages.empty? mi sembra leggermente meglio.
>
> si, hai ragione...
grazie :]
>
>
>
>
>> cmq resta il fatto che non capisco cosa vuoi fare dentro al "do" (che
>> ovviamente link_to non accetta)
>>
>> per passare un parametro con il link_to puoi fare una cosa del tipo
>
> aspetta, mi sono spiegato male...
> lo scopo non è passare un parametro, ma semplicemente visualizzare nel
> link il numero di messaggi non letti: vorrei ottenere questo:
>
> <a href="/messages/inbox">
> Message
> <span class="lblBold">(2)</span>
> </a>
>
> (mentre invece ottengo questo)
>
> <a href="inbox" action="inbox" controller="messages">
> Messages
> <span class="lblBold">(2)</span>
> </a>
>
> Grazie, anche del consiglio su dove mettere gli unread message...
>
<%= link_to "Messages(#{current_user.unread_messages.length)",
user_messages_path(current_user) %>
oppure in modo medievale
<%= link_to
"Messages(#{current_user.unread_messages.length)", :controller
=> :messages, :action => :index, :user_id => current_user %>
cmq sul serio, non è php :]
Q
> Ciao
>
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> Ml mailing list
> Ml a lists.ruby-it.org
> http://lists.ruby-it.org/mailman/listinfo/ml
More information about the Ml
mailing list