2010-11-02 2 views
1

Я строю модель, которая всякий раз, когда модель запускается, я хочу ввести в модель ленты новостей. Моя идея состояла в том, чтобы создать after_save в модели, а затем использовать помощник для заполнения данных фида. Но моя модель не находит помощника ...Rails 3 - Помощник, где они должны использоваться?

Теперь мне интересно, для чего нужны помощники, являются помощниками действительно только для просмотров или?

В моей модели я хочу, чтобы запустить такие вещи, как: newsfeed.feeded_id = record.id newsfeed.feeded_type = record.class.name

который является общим для многих моделей в моем приложении. Где это должно жить и как к этому нужно обращаться? Thanks

+0

Привет, не могли бы вы уточнить свой вопрос, pls. Вам нужен метод, доступный из любой модели? – Bohdan

ответ

1

Помощники в основном предназначены для просмотра. Они позволяют сохранить код вне представлений и сделать тестовый фрагмент кода, который можно использовать при визуализации представления. Он также позволяет повторно использовать биты кода.

Я не думаю, что существуют какие-либо эмпирические правила, но если вы используете один и тот же бит кода просмотра более одного раза, рассмотрите его абстрагирование в частичное. Если у вас есть сложные усложнения или вычисления, подумайте о том, чтобы разместить его в помощнике.

В качестве примера того, что хорошо делать в помощниках, вам нужно смотреть не дальше, чем на Rails. Идеальными примерами являются link_to, form_for и т. Д. Они занимаются разработкой, но предоставляют больше возможностей, чем писать HTML с нуля каждый раз.

0

Как насчет использования observer?

Вы настраиваете свои новости через RSS/ATOM? Your builder view может быть местом для выбора товаров, которые вы хотите в фиде.

Смежные вопросы