を使用して、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>
ここで何が間違っていますか?