以haml动态分配类

时间:2012-07-03 09:51:07

标签: ruby-on-rails twitter-bootstrap haml

您好我有以下haml:

.btn-group-wrap{style:'text-align:center;'}
  .btn-group{style: 'display: inline-block; text-align:center; width:inherit;'}
    =link_to "All Users", users_path, class: 'btn active'
    =link_to "Search", '#', class:'btn'

我希望能够在每个链接的active类之间来回切换。即如果params[:controller] == "users",那么我希望它是active。如果params[:controller] =="search"那么它将使用户只有'btn'和搜索'btn active'

2 个答案:

答案 0 :(得分:1)

嗨使其成为辅助方法,并在辅助方法中根据您的要求呈现类名。 请参阅http://iparamtech.blogspot.in/2012/04/dynamic-sidebar-in-rails-layout.html

答案 1 :(得分:0)

尝试这样的事情:

.btn-group-wrap{style:'text-align:center;'}
  .btn-group{style: 'display: inline-block; text-align:center; width:inherit;'}
    =link_to "All Users", users_path, class: button_class
    =link_to "Search", '#', class:'btn'

然后在/apps/helpers/application_helper.rb(或任何最合适的助手):

module ApplicationHelper
  def button_class
    if params[:controller] == "users" 
      'active'
    elsif params[:controller] =="search"
      'btn active'
    else
      # default value
      'btn'
    end
  end
end