【问题标题】: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,这是一个好的经验法则吗?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

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

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

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

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

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

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

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

    【讨论】:

    • 感谢您的确认
    猜你喜欢
    • 2012-12-23
    • 2021-07-13
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多