【发布时间】:2019-04-02 10:45:14
【问题描述】:
假设我有这个辅助方法,可以根据模型人的属性身高和国家/地区检查一个人的身高是否高于平均身高或低于平均身高。 person_helper.rb
module PersonsHelper
def height_status(country, height)
if country == "jp"
return "above height average" if height >= 170
return "below height average"
end
...
end
end
这是一个好习惯,或者我应该为此在模型中创建一个派生属性 人.rb
class Person
def height_status
if country == "jp"
return "above height average" if height >= 170
return "below height average"
end
end
end
用法主要是为了查看所以我想知道 helper 是否是正确的做法?
【问题讨论】:
-
也许将两者结合起来:让
Person#height_status将其数据传递给Statistics模块的相应辅助方法。 -
我也想到了。将具有 if 语句的方法放入模型中,然后在助手上调用它。但问题是我会在视图中只使用一次就完成所有这些操作。请问您对此有何看法?
标签: ruby-on-rails ruby ruby-on-rails-4