我啥时候应该使用助手? [关闭]

Posted

技术标签:

【中文标题】我啥时候应该使用助手? [关闭]【英文标题】:When should I use helpers? [closed]我什么时候应该使用助手? [关闭] 【发布时间】:2014-01-26 17:42:12 【问题描述】:

我几乎不会在我的项目中使用它们。这是正常的吗?如果我只需要返回一行 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 然后使用帮助程序,或者使用部分返回更复杂的 html,这是一个好的经验法则吗?

【问题讨论】:

【参考方案1】:

首先,问题是基于意见的。所以,它很可能会被关闭。

这里有几个关于类似主题的问题:

DRYing rails view: partial vs helper Why shouldn't Helpers have html in them?

一般来说,helper 只是一种方式

有 DRY 视图 制作干净的视图和控制器

一般来说,您可以通过将一些重复的功能移出到控制器来干燥视图。然而,结果控制器变得杂乱无章。因此,将视图相关的帮助器保留在帮助器(与控制器)中的更好方法,您已经想通了。

有些助手根本不接触 HTML(例如,他们可能只提供一些数字格式等),或者他们可能只生成一个标签(如您的示例中)或生成一段 HTML 代码。但是,当您谈论一些 HTML 代码时,您宁愿使用 partials 与 helper。

【讨论】:

感谢您的确认

以上是关于我啥时候应该使用助手? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

我啥时候应该参加内部课程[关闭]

函子我啥时候应该使用它们它们的预期用途是啥[关闭]

我啥时候应该销毁令牌[关闭]

我啥时候应该使用 FutureBuilder?

我啥时候应该使用 QThread::HighestPriority

Firebase:我啥时候应该使用 refreshToken?