2015-10-15 2 views
2

Я использую ряд из link_to блоков для создания кнопок в моем приложении. Однако я считаю, что эти ссылки не работают. Когда я нажимаю на кнопку, она распознает ссылку, правильный указатель отображается в нижнем левом углу в firefox, но когда я нажимаю, ничего не происходит. В моем терминале или журнале разработки ничего не появляется.link_to block not working

Мой код выглядит следующим образом:

<%= link_to new_folder_path do%> 
    <div class="btn btn-default add-button add_fields"><span class="glyphicon glyphicon-plus"></span>Add Folder</div> 
<% end %> 

Это делает следующий HTML:

<li> 
    <a href="/folders/new"> 
    <div class="btn btn-default add-button add_fields"><span class="glyphicon glyphicon-plus"></span>Add Folder</div> 
    </a> 
</li> 

Следует также отметить, что, если я просто ввести стандартную ссылку в без дел блок, он отлично работает:

<li><%= link_to "test", new_folder_path %></li> 

Любые мысли об этом будут высоко оценены!

+3

Что не работает? – Pavan

+0

@Pavan Я полагаю, что я должен быть немного более подробным: это не направляет меня на ссылку. Когда я нажимаю на кнопку, она распознает ссылку, правильный указатель отображается в нижнем левом углу в firefox, но когда я нажимаю, ничего не происходит. В моем терминале или журнале разработки ничего не появляется. – neanderslob

+1

Это должно сработать. Но попробуйте добавить 'display: block' к этому элементу' a'. Кроме того, запустите разметку через [validator] (https://validator.w3.org/), возможно, у вас есть некоторые ошибки, которые вызывают это. – Vucko

ответ

0

Оказалось, что я уронил класс в мой div, который мешал ссылке от рендеринга (класс 5 был классом).Глубоко неудовлетворительный ответ - это то, что есть. Спасибо всем, кто нашел время, чтобы дать мне подсказку.

2

Попробуйте это.

= link_to "<span class='glyphicon glyphicon-plus'></span>Add Folder".html_safe, new_folder_path, class: 'btn btn-default add-button add_fields' 
1

Вы, вероятно, лучше с помощью button_to для кнопок -

Формирует форму, содержащую одну кнопку, которая отправляет в URL, созданный набором опций.

Так вместо того, чтобы ваш link_to, вы сможете использовать:

<%= button_to "Add Folder", new_folder_path, class: "btn btn-default add-button add_fields glyphicon glyphicon-plus" %> 

Как Замечание, если вы пытаетесь элементы стиля внутри<a> тега, который вы собираетесь иметь проблемы. Вы будете намного лучше стилизовать сам тег <a>, или совсем нет.

Таким образом, вопрос вы получаете, вероятно, могут быть решены с помощью следующих действий:

<%= link_to "Add Folder", new_folder_path, class: "btn btn-default add-button add_fields glyphicon glyphicon-plus" %> 

-

Иконки

Я знаю Bootstrap включает Glyphicons. Если они что-то вроде ionIcons, они будут работать, добавив глиф с псевдо-классом :before.

Если это так, то вам не нужно нужен отдельный элемент <span> для их инкапсуляции; просто добавьте класс к вашей ссылке/кнопке, а :before следует добавить.

Конечно,, если вы хотите, чтобы стиль был проложен внутри ссылки, вам нужно будет использовать блок link_to; однако вам необходимо убедиться, что вы помещаете текст в span вместо того, чтобы иметь его без содержимого.