我有这两种方法,我想将它们合二为一。但对于我的生活,我看不到如何。NOOB大时代。任何帮助表示赞赏。
def is_active_no_category
'active' if params[:category].blank?
end
def is_active(category)
'active' if params[:category] == category.name.parameterize
end
我有这两种方法,我想将它们合二为一。但对于我的生活,我看不到如何。NOOB大时代。任何帮助表示赞赏。
def is_active_no_category
'active' if params[:category].blank?
end
def is_active(category)
'active' if params[:category] == category.name.parameterize
end
使用下面的函数将 acategory
作为参数传递是可选的。如果您不传递参数,它将像您的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
语句更简洁,但是你并没有说明你的功能的确切要求,所以我给了你最完整的解决方案。