Ruby on Rails - кнопка link_to / css - PullRequest
       0

Ruby on Rails - кнопка link_to / css

37 голосов
/ 11 декабря 2010

Хорошо, поэтому я учу себя 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"/>  

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

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

Но это не добавление моего стиля CSS, это просто генерация текста «Добавить». Любая помощь будет полезна. Спасибо

Ответы [ 3 ]

76 голосов
/ 11 декабря 2010

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 сгенерирует форму с методом post.

10 голосов
/ 29 марта 2013

Мне недавно пришлось это сделать, потому что моя форма работала для 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" %>
0 голосов
/ 11 декабря 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...