我正在尝试设置一个实用程序回调,该回调可用于我的 Rails 应用程序中的多个模型,使用ActiveSupport::Concern
. 我有以下Postable
模块:
/app/models/concerns/postable.rb
module Concerns::Postable
extend ActiveSupport::Concern
included do |base|
base.after_save :correct_article_url, if: Proc.new { |post| post.article_url.present? }
end
def correct_article_url
# do something with the url
end
end
这是我的Post
模型:
/app/models/post.rb
class Post < ActiveRecord::Base
include Concerns::Postable
end
当我创建一个新实例Post
并调用post.save
时,我收到以下错误:
NoMethodError - undefined method `correct_article_url' for #<Post:0x007fdb58a35b98>
我在这里做错了什么?