15

私はフォームラベルにリンクを含めることを検討しています:

<%= form.check_box 'eula' %>
<%= form.label 'eula', "I agree to the <a href='#' id='eula-link'>EULA</a>", class: 'label-checkbox' %>

Rails は HTML を書き出すはずですが、どうすればこれを達成できるでしょうか? EULA をクリックすると、JS ポップアップが開きます。どういうわけかそこに link_to を埋め込むことを考えていましたか?

4

7 に答える 7

25

括弧を使用html_safeすると、次のように html がレンダリングされます。

<%= f.input :eula, :as => :boolean, label: ("I agree to the #{link_to 'Terms of Service', terms_path}.").html_safe %>
于 2013-08-13T19:51:30.763 に答える
2

バニラ レール フォーム ヘルパーを使用していると仮定すると、次のことができます。

f.label :eula do
    'I agree to the #{link_to("EULA", "#")}'
end

ソース: http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-label

于 2013-11-14T08:33:58.043 に答える
1

ハイパーリンクをエンコードするか、URL のハイフンを html_safe に置き換えて、19 通りの方法を試しました。

これは私のために働いたものです

<%= f.label :cookies do
      "Do you agree to our #{link_to('Cookies Policy', 'http://www.your-­url.co.uk/privacypolicy')}".html_safe
end %>

" と ' の特定の使用法は重要なようです。

于 2014-03-25T12:07:14.283 に答える
1

jenson-button-event からの回答はほぼ私にとってはうまくいきましたが、エラーなしでロードの近くに括弧の配置を変更する必要がありました。

私にとっては、以下で解決しました。ここでは、リンク パス自体の後ではなく、「Cookies Policy」の後の閉じ括弧に注意してください。

<%= f.label :cookies do
      "Do you agree to our #{link_to('Cookies Policy'), 'http://www.your-­ url.co.uk/privacypolicy'}".html_safe
end %>
于 2015-05-13T15:59:24.923 に答える
0

「#{link_to 'EULA', #, :id => 'eula-link'} に同意します」を試してください

于 2012-06-17T23:02:06.590 に答える