2016-12-20 3 views
2

В моей модели у меня есть метод, который отмечает запись как ожидающую изменения, изменив ее статус на 2. После этого он вызывает другой метод на другом контроллере, чтобы создать уведомление, содержащее детали записи, которая была изменена.Использование помощников Rails в модели

например.

class Page < ActiveRecord::Base 

    def pend_page 
    self.update(status: 2) 
    Notification.create_notification("#{link_to self.title, pages_path(:status => 2)} marked as pending", @current_user) 
    end 

end 

Однако, кажется, Rails не проходит хелперы для link_to и маршруты к моделям ... как я получаю ошибку: undefined method 'pages_path' for #<Page:0x007fd15c996c88>.

Как я могу сделать так, чтобы работали link_to и pages_path?

Я использую Rails 4.2.5.1

редактировать: вот что create_notification выглядит следующим образом:

class Notification < ActiveRecord::Base 

    belongs_to :user 

    def self.create_notification(content, user) 
    notification = Notification.new 
    notification.content = content 
    notification.user_id = user.id 
    notification.status = 0 
    notification.save 
    end 

end 
+0

См. Это сообщение http://stackoverflow.com/a/5456103/2968762, для вопроса, связанного с URL. – Abhi

ответ

0

Это должно идти в любом объекте службы или в PORO (обычный старый объект рубиновый) , Проблемы с моделью должны начинаться и заканчиваться функциональностью, связанной с базой данных, все остальное находится в неправильном месте.

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