Параметры link_to
Итак, я пытаюсь сделать это ссылкой link_to:
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Sign-In <b class="caret"></b></a>
У меня это до сих пор, но не могу понять, как обращаться с <b class="caret"></b>
. Я попытался выполнить блок do в конце link_to
, но получил ошибку.
<%= link_to "Sign-In", new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} %>
Я только начал изучать Rails и искал (включая чтение документов RoR API), но не получил ничего, чтобы работать. Спасибо за помощь!
Ответы
Ответ 1
link_to
, который вы предоставили, хорошо с точки зрения контекста.
Позвольте мне рассказать вам, что это такое:
Это ссылка, которую вы упомянули:
<%= link_to "Sign-In", new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} %>
Это соответствующая html-ссылка, образованная вышеуказанным link_to:
<a href="users/sessions/new" class="dropdown-toggle" data-toggle="dropdown">Sign-In</a>
Теперь рассмотрим эту ссылку:
<%= link_to(raw("Sign-In" +("<b class= 'caret'></b>")), new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"}) %>
Вышеуказанная ссылка предоставит вам следующую ссылку html:
<a class="dropdown-toggle" data-toggle="dropdown" href="users/sessions/new">Sign-In<b class= 'caret'></b></a>
Теперь вы почти близки к вашему результату. Единственное, что есть href.
Ok, немного измените приведенный выше link_to
только с изменением href path как -
<%= link_to(raw("Sign-In" +("<b class= 'caret'></b>")), "#", :class => "dropdown-toggle", :data => {:toggle=>"dropdown"}) %>
Сгенерированная ссылка теперь эквивалентна тому, что вы хотели:
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Sign-In<b class= 'caret'></b></a>
Ответ 2
Если вы предоставляете блок, вы опускаете первый аргумент (обычно содержимое тега a), и он будет заменен тем, что дает блок.
<%= link_to new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} do %>
Sign-In <b class="caret"></b>
<% end %>
Ответ 3
поместите ссылку в контейнер, это может быть div и поместите 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>
Ответ 4
Он должен быть атрибутом данных в link_to
link_to remove_user_path(recipient_id: recipient.id) , method: :delete, data: {confirm: 'Are you sure you want to delete?'}