2

divの「data-*」の値を動的に設定する必要がある状況があります。私が実際に使用しているコードは次のとおりです。

  = tag('div', { class: 'agile-carousel',\
                 data: { carousel_list: url_for(format: :json) } }, true)
  = "</div>".html_safe

これはひどいです。また、railsは、<div />chromeや他のブラウザーが絶対に好まない方法でdivを閉じます(いくつかの災害を引き起こします)。

だから私の解決策はそれです。これを行う別の方法があるかどうかを尋ねたいと思います。

アップデート1:

私が持っている小さな問題、このコード:

span class==I18n.locale == locale_used ? "inactive" : nil
  = link_to(I18n.t('locale_name', locale: locale_used),\
            url_for(locale: locale_used))

link_toを削除すると、機能します。そのようなものを挿入しても| textエラーが返されることに注意してください。syntax error, unexpected keyword_ensure, expecting $end

4

1 に答える 1

6

content_tagの代わりにを使用して、の代わりにtagを生成できますが、使用しないでください。<div></div><div>

Slimを使用しているので、Slimを使用します。

.agile-carouesel data-carousel_list=url_for(format: :json)

出力:

<div class="agile-carouesel" data-carousel_list="some URL"></div>

SlimとHAMLの要点は、タグを書くためのこの素晴らしく簡潔な構文があるということです。不要なときにRailsのタグヘルパーに頼るのではなく、それを使用する必要があります。それらを使用することにより、それらが削除することになっているすべての句読点の乱雑さを再導入しています。

于 2013-03-26T18:34:54.387 に答える