Jac*_*cob 2 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1
我有一个部分在整个网站上使用.我在部分中有一个图像,我希望链接到除一个特定控制器动作之外的所有页面上的某个页面.
1.如果没有2 if else套件,有没有办法放入以下href?...
<a href="#">
<img src="#" />
</a>
Run Code Online (Sandbox Code Playgroud)
我试图避免这样做:
<% if (current controller != xyz) %>
<a href="#">
<% end %>
<img src="#" />
<% if (current controller != xyz) %>
</a>
<% end %>
Run Code Online (Sandbox Code Playgroud)
2.我如何实际检查哪个控制器称为此部分?
上面的代码只是伪代码.
PS.我知道这不是那么多重复,但我只是以这个简化案例为例.好奇如果在Rails中有什么东西我不知道要避免这种情况.
Emi*_*ily 11
这正是link_to_if为了什么!
link_to_if(controller_name == 'xyz', image_tag('src'), 'http://target.com')
Run Code Online (Sandbox Code Playgroud)
这将添加图像,无论条件是否为真,并且仅在条件为真时将其包装在链接中.link_to_unless在您的情况下,还有相关的可能在语义上更合适.
编辑:我已经更新了上面的示例,使用正确的代码来检查控制器名称.视图中有一个可用的方法,controller_name它返回控制器名称的小写版本.它也在params哈希中.
| 归档时间: |
|
| 查看次数: |
394 次 |
| 最近记录: |