2

Rails 4.2 で一定の​​ "Complete" を使用する Orderable の問題があります。app/models/concerns/orderable.rb:

module Orderable
  extend ActiveSupport::Concern
  COMPLETE = "Complete"
end

Rails コンソールで を実行するOrderable.constantsと、 が返されます[:COMPLETE]。ただし、Orderable の問題をRailsに関するモジュールで説明されている「控えめな」スタイルに変更すると、次のようになります。

concern :Orderable do
  COMPLETE = "Complete"
end

その後Orderable.constants、Rails コンソールで実行すると が返されます[]。Railsのドキュメントには、「懸念事項を定義するための簡単な近道は...同等である」と書かれています。この単一の変更が、モジュールの定数へのアクセスを失うという影響を与えるのはなぜですか? どういうわけかそれらを再定義する必要がありますか?

4

1 に答える 1