2013-02-27 12 views
15

quindi sto cercando di fare questo in un link link_to:opzioni link_to

<a class="dropdown-toggle" data-toggle="dropdown" href="#">Sign-In <b class="caret"></b></a> 

ho questo fino ad ora, ma non riesco a capire come gestire il <b class="caret"></b>. Ho provato un blocco do alla fine dello link_to, ma ho ricevuto solo un errore.

<%= link_to "Sign-In", new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} %> 

Ho appena iniziato a imparare Rails, e ho cercato in giro (compresi leggendo la documentazione API RoR), ma ce l'ho nulla su cui lavorare. Grazie per l'aiuto!

risposta

36

Il link_to che hai fornito va bene in termini di contesto.

Lasciate che vi dica quello che è fino a:

Questo è il link che lei ha citato:

<%= link_to "Sign-In", new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} %> 

Questo è il link HTML corrispondente formata dal link_to sopra:

<a href="users/sessions/new" class="dropdown-toggle" data-toggle="dropdown">Sign-In</a> 

Prendi in considerazione questo link:

<%= link_to(raw("Sign-In" +("<b class= 'caret'></b>")), new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"}) %> 

Il link qui sopra vi darà il seguente link html:

<a class="dropdown-toggle" data-toggle="dropdown" href="users/sessions/new">Sign-In<b class= 'caret'></b></a> 

Ora si sono quasi vicino al vostro risultato. L'unica cosa è l'href.

Ok cerchiamo di modificare quanto sopra link_to un po 'con solo un cambiamento in percorso href AS

<%= link_to(raw("Sign-In" +("<b class= 'caret'></b>")), "#", :class => "dropdown-toggle", :data => {:toggle=>"dropdown"}) %> 

il link generato è ora equivalente a quello che si voleva:

<a href="#" class="dropdown-toggle" data-toggle="dropdown">Sign-In<b class= 'caret'></b></a> 
+0

Grazie per il feedback! Non sapevo nulla del tag grezzo – Devan

+1

Se avessi più reputazione, ti darei una spinta a modo tuo! Grazie ancora! – Devan

+0

ho questo nel mio tag data-original-title = "Modifica" e sto ricevendo un errore. xpects a) –

11

Se si fornisce un blocco, si omette il primo argomento (normalmente il contenuto del tag) e verrà sostituito da ciò che il blocco produce.

<%= link_to new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} do %> 
    Sign-In <b class="caret"></b> 
<% end %> 
+0

Ah, sapevo che la chiave era il blocco, ma non poteva capire gli argomenti e così via. Grazie mille amico! – Devan

0

inserire il collegamento in un contenitore potrebbe essere un div e inserire un class = "dropdown".

<div class="dropdown"> 
    <%= link_to image_tag('icons/lock_icon.png') + " Log In" +('<b class="caret"></b>').html_safe , '#', { :class => 'dropdown-toggle', 'data-toggle' => 'dropdown' } %> 
</div> 
0

Si deve essere un attributo di dati in link_to link_to remove_user_path(recipient_id: recipient.id) , method: :delete, data: {confirm: 'Are you sure you want to delete?'}