我想将这两种方法组合成一种方法。但对于我的生活,我看不出如何。 NOOB大时间。任何帮助赞赏。
def is_active_no_category
'active' if params[:category].blank?
end
def is_active(category)
'active' if params[:category] == category.name.parameterize
end
答案 0 :(得分:2)
使用以下函数传递category
作为参数是可选的。如果您不传递参数,它将像您的is_active_no_category
方法一样工作。如果您执行传递参数。它会像is_active
方法一样工作。
def is_active(category = nil)
'active' if (category.present? && params[:category] == category.name.parameterize) || (category.nil? && params[:category].blank?)
end
您可以使if
声明更紧凑,但您没有说明您的功能的确切要求,因此我为您提供了最完整的解决方案。