Подтвердить что ты не робот

Ruby on Rails - link_to button/css

Хорошо, поэтому я учу себя RoR при разработке простого api и веб-интерфейса. Я слежу за несколькими руководствами и тестирую различные результаты. Я издевался над некоторыми HTML-шаблонами, и я нахожусь в процессе, когда я начинаю разбивать их на представления.

В моем HTML у меня есть следующий код, который является кнопкой с стилем CSS:

 <input type="submit" name="" value="Add" id="open-contacts-dialog-btn" class="inbox-sf-add-btn tip" title="Open an dialog to add a new contact"/>  

Это моя кнопка в моей панели, которую я хотел бы связать с /книгой/новым/, я знаю, что мне нужно link_to, но что бы мой окончательный код? Код, который я пробовал, выглядит следующим образом

<%= link_to "Add", new_admin_course_path, :id=>"open-contacts-dialog-btn", :class=>"inbox-sf-add-btn tip" %>

Но он не добавляет мой стиль CSS, он просто генерирует текст "Добавить". Любая помощь будет полезна. Благодаря

4b9b3361

Ответ 1

link_to генерирует тег <a>, который не является input type="submit". То, что вы должны использовать, должно быть button_to, которое генерирует форму с кнопкой input type="submit" для ссылки:

<%= button_to "Add", new_admin_course_path, :id => "open-contacts-dialog-btn",
      :class => "inbox-sf-add-btn tip", :method => :get %>

Обратите внимание на :method => :get. Без него button_to будет генерировать форму с методом, установленным для публикации.

Ответ 2

Мне недавно приходилось это делать, потому что моя форма действовала по-разному для link_to, чем с button_to, и мне нужна была функциональность, предоставленная ссылкой. Лучшее решение, которое я нашел, не использует CSS вообще, а вместо этого вызывает .html_safe, чтобы избежать html в коде ruby ​​и правильно отобразить ссылку как кнопку. Что вы хотите сделать, так это:

<%= link_to "<button>Add</button>".html_safe, new_admin_course_path, :id=>"open-contacts-dialog-btn", :class=>"inbox-sf-add-btn tip" %>

Ответ 3

Но это не добавление моего стиля CSS. Что вы имеете в виду? Элемент link (a) с классами inbox-sf-add-btn и tip генерируется, правильно? Итак, в чем проблема?

Если вам нужна строгая кнопка (input вместо a), вы можете указать /book/new (или <%= new_admin_course_path %>) в атрибуте action вашей html-формы (form).