のための未定義のメソッド私はActiveSupport::Concern
を使用して、私のRailsアプリで複数のモデルのために使用することができるユーティリティのコールバックを設定しようとしています。私は、私がPost
の新しいインスタンスを作成し、post.save
を呼び出すとactivesupportの::懸念コールバック - NilClass
/app/models/post.rb
class Post < ActiveRecord::Base
include Concerns::Postable
end
:ここ
/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
モデルである:私は、次のPostable
モジュールを持っています次のエラーが表示されます。
NoMethodError - undefined method `correct_article_url' for #<Post:0x007fdb58a35b98>
私がここで間違って何をしているのですか?
これは動作するはずです。どのようなレール/ルビーバージョンを使用していますか? –
Railsは4.2.5 /ルビー2.3 – ACIDSTEALTH
大丈夫レムREは平均時間ではRailsの4.2.5&ルビー2.3.0 とそれを生成します。あなたがRails Consoleでテストしている可能性はありますか?後で 'correct_article_url'を追加した場合、環境をリロードする必要があります –