Rails 3 - Helper,它们应该在哪里使用?

时间:2010-11-02 18:36:55

标签: ruby-on-rails ruby-on-rails-3

我正在构建一个模型,无论何时运行模型,我都要注入新闻Feed模型。我的想法是在模型中创建一个after_save,然后使用帮助器来填充Feed详细信息。但我的模型并没有找到帮助者......

现在我想知道,帮助者是什么,帮助者真的只是为了观点还是?

在我的模型中,我想运行以下内容:     newsfeed.feeded_id = record.id     newsfeed.feeded_type = record.class.name

这在我的应用中很多型号都很常见。应该在哪里生活,应该如何访问?感谢

2 个答案:

答案 0 :(得分:1)

助手主要是为了观看。它们允许您将代码保留在视图之外,并生成可在渲染视图时使用的可测试代码块。它还允许您重用代码。

我认为没有任何经验法则,但如果您不止一次使用完全相同的视图代码,请考虑将其抽象为部分。如果您有任何复杂的条件或计算,请考虑将其放在帮助器中。

作为帮助者的好处的一个例子,你需要看看Rails本身。完美的例子是link_toform_for等。这些都需要做一些构建,但提供的功能比每次从头开始编写HTML更多。

答案 1 :(得分:0)

如何使用observer

您是否通过RSS / ATOM设置新闻? Your builder view可能是您在Feed中选择所需内容的地方。