在我的模型中,我有一个方法,通过将记录状态更改为2来将记录标记为待处理。之后,它会调用另一个控制器中的另一个方法来创建包含已更改记录详细信息的通知。
e.g。
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 :(得分:-1)
这应该放在服务对象或PORO(普通旧ruby对象)中。模型的关注点应该以数据库相关的功能开始和结束,其他任何东西都在错误的位置。