0

私の人生では、なぜこの問題が起こっているのかわかりません。いつも link_to ヘルパーを使用していましたが、iv は link_to_if ヘルパーを数回使用しただけで、今回は CSS クラスを取得するためのリンクを取得できません。

これが私のリンクです

<%= link_to_if(step.sequence > 1, raw('<i class="icon-chevron-up"></i>'), url_for(:controller => :test_steps, :action => :update_sequence, :direction => 'up', :id => step.id, :test_script_id => @test_script), { :class => 'btn btn-mini' })%>

画像は期待どおりリンクなしで表示されますが、最後に定義された CSS クラスは表示されず、代わりにクラスがありません。これは、すべての link_to ヘルパーで使用するのと同じ形式です。

誰でも理由を説明できますか?

4

3 に答える 3

2

link_to_if を使用raw('<i class="icon-chevron-up"></i>')すると、条件が失敗した場合に、名前 (この場合は結果) のみが返されます。それ以外の場合にリンク タグに適用されるすべてのオプションは無視されます。

ソースを参照してください。

于 2012-06-01T19:14:18.067 に答える
0

link_to_ifまたはlink_to_unlessをスパンでラップします。

 %span.pull-right
   = link_to_unless Foo.deleted.empty?, "<i class='icon-white icon-trash'></i> Undelete Foo".html_safe, deleted_foos_path

上記のコードは、表示されているものすべて (完全なリンクまたはそのテキストのみ) に css クラス (プルライト) を設定します。

于 2013-08-01T18:31:14.280 に答える
0

options 引数として空のハッシュを渡してみてください。それ{ :class => '...' }が html_options 引数に割り当てられます。未テスト

<%= link_to_if(step.sequence > 1, raw('<i class="icon-chevron-up"></i>'), url_for(:controller => :test_steps, :action => :update_sequence, :direction => 'up', :id => step.id, :test_script_id => @test_script), {}, { :class => 'btn btn-mini' })%>
于 2012-06-01T19:14:37.853 に答える