对于我的生活,我无法弄清楚为什么会出现这个问题。我一直使用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助手中使用的格式相同。
任何人都可以解释原因吗?
答案 0 :(得分:2)
使用link_to_if,如果条件失败,将仅返回名称 - 在您的情况下是raw('<i class="icon-chevron-up"></i>')
的结果。否则将忽略否则将应用于链接标记的所有选项。
请参阅source。
答案 1 :(得分: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' })%>
答案 2 :(得分: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类(右拉) - 完整链接或只是文本。