我无法在任何地方找到答案。我想要做的是根据你的路线获得不同的CSS。所以例如
<% if root_path %>
那是什么代码?
答案 0 :(得分:3)
看看current_page?
帮手,这样的情况非常方便。
current_page?(action: 'process')
# => false
current_page?(controller: 'shop', action: 'checkout')
# => true
current_page?(controller: 'shop', action: 'checkout', order: 'asc')
# => false
current_page?(action: 'checkout')
# => true
current_page?(controller: 'library', action: 'checkout')
# => false
current_page?('http://www.example.com/shop/checkout')
# => true
current_page?('/shop/checkout')
# => true
我没有经过测试,但这应该适用于:
if current_page?(product_path(@product))
#some logic here
答案 1 :(得分:1)
您不应该这样做,因为您可以设置CSS,以便每个视图提取不同的CSS值。
但是,如果你真的想要,你可以利用params hash Rails传递给包含控制器和动作的每个视图。
<%= params %>
#{"controller"=>"home", "action"=>"index"}
<% if params[:controller] == "home" and params[:action] == "index" %>
#dothings
<% end %>
答案 2 :(得分:1)
我通常在body
元素上使用动态类,然后在我的CSS / SASS中绑定它,如下所示:
<body class="#{controller.action_name}">...</body>
然后对于索引页面,正文类将为.index
,而在您的SASS中,您可以执行以下操作:
body.index { ... }