我在我的项目中几乎没有使用它们。这是正常的吗?如果我只需要返回一行html,比如一个gravatar的图像标记,那么帮助就很棒了:
def gravatar_for(user, height=90, width=90, alt=user.name + "'s gravtatar")
gravatar_address = 'http://1.gravatar.com/avatar/'
clean_email = user.email.strip.downcase
hash = Digest::MD5.hexdigest(clean_email)
image_tag gravatar_address + hash, height: height, width: width, alt: alt
end
但是,如果我想循环一些错误,并返回html结构而不是单行,那很快就会变得困难。
如果你想返回一行html然后使用帮助器,那么这是一个很好的经验法则,否则使用partial来返回更复杂的html?
答案 0 :(得分:0)
首先,问题是基于意见。所以,很可能它会被关闭。
以下是关于类似主题的几个问题:
DRYing rails view: partial vs helper Why shouldn't Helpers have html in them?
一般来说,帮助只是一种方式
一般来说,您可以通过向控制器移除一些重复的功能来干掉视图。但是,结果控制器变得杂乱无章。因此,更好的方法是在助手(vs控制器)中保持与视图相关的助手,你已经知道了。
有些助手根本不接触HTML(例如,他们可能只提供一些数字格式等),或者他们可能只生成一个标签(如您的示例中所示)或生成一段HTML代码。但是,只要您谈论某些HTML代码,就要使用partials vs helper。