Bra*_*adM 1 ruby-on-rails ruby-on-rails-4
我有一个语法问题,我正在尝试解决.我只是想检查一个控制器/动作是否被加载,如果是这样,做一些事情,如果不做其他事情,似乎很简单.这给了我一个错误:
<% if (:controller => 'home', :action => 'index') do %>
<div class="header">
<% else %>
<div class="header-2">
<% end %>
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决语法问题吗?谢谢!
您必须像这样修改if子句:
<% if controller_name == 'home' && action_name == 'index' %>
Run Code Online (Sandbox Code Playgroud)
另外,如果不得不多次调用,我建议您定义一个帮助器.
application_helper.rb
def home_index?
controller_name == 'home' && action_name == 'index'
end
Run Code Online (Sandbox Code Playgroud)
这样你的代码就会更具可读性:
some_view.html.erb
<div class='<%= home_index? ? "foo" : "bar" %>'>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1115 次 |
| 最近记录: |