Как мне вставить div внутри тега привязки в рельсах? - PullRequest
2 голосов
/ 19 июня 2010

Я немного любитель Ruby on Rails, и я пытаюсь вложить тег div внутри тега привязки в rails.Я могу заставить это работать, но полученный код, который я написал, ужасен и, конечно, НЕ является путём рельсов.

Вот пример того, что я пытаюсь выполнить в HTML:

<a href="tell-a-friend">
<div id="tellafriend">
    <strong>Strength in Numbers.</strong><br />
    Suggest a friend or colleague to participate in this survey.
</div>
</a>

Вот что я придумал, чтобы сделать это в ERB:

<%= link_to content_tag(:div, 
    content_tag(:strong, 'Add your labor rates now.') + 
    content_tag(:br, '') + ' We are counting on you.', :id => 'participate'), 
participate_path %>

Или здесь я смешал немного HTML и ERB:

<%= link_to '<div id="results">
    <strong>See the results.</strong><br />
    Knowledge is power.
</div>'.html_safe, results_path %>

Оба моих решения кажутся очень уродливыми.... но переместить его в помощника не кажется правильным, учитывая, что содержимое DIV меняется, и я отображаю только 3 из них на одной странице.

Так что, если кто-тознаю о лучшем способе сделать это, мне интересно!Любая комбинация HTML, ERB и HAML мне подходит.

Ответы [ 3 ]

7 голосов
/ 19 июня 2010

Ссылки работают как блоки:

<% link_to '', my_path do %>
  <div></div>
<% end %>
1 голос
/ 19 июня 2010

К вашему сведению: Якорь, окружающий DIV, недопустим в HTML 4.01 Переходный (но это в HTML5?), Поэтому убедитесь, что вы используете правильный тип документа и тестируете на целевом браузере (-ах). !)

<head>
<title>a</title>
</head>
<body>
<div>
<a href="www.google.com">
<div>test</div>
</a>
</div>
</body>
</html>

Вы можете запустить это на W3C Validator и изменить DOCTYPE, чтобы увидеть, для каких режимов это допустимо. (Обязательно укажите кодировку, чтобы избавиться от предупреждения: -)

0 голосов
/ 15 августа 2015

Худшее:

<%= link_to(url, html_options = {}) do %>
   # name
<% end %>
...