2017-08-28 8 views
0

このモデル定義は、ProductsのRailsアプリケーション内にあります。私はカスタムafter_initializeメソッドの中に名前productsを取得する必要があります。以下のコードでは、明示的に記述しています。私の質問は、モデル定義クラス内でプログラムでproductsという名前を取得する方法はありますか?クラス定義内の(モデル)ApplicationRecordの名前へのアクセス

class Product < ApplicationRecord 

    has_one :photo, dependent: :destroy 
    accepts_nested_attributes_for :photo 

    after_initialize :set_photos_parent 

    def set_photos_parent 
     self.photo.parent = "products" unless self.photo.nil ? 
    end 

end 
+1

を試してみてください –

+0

なぜ、このクラスから 'self.photo.parent'属性を変更しようとしていますか?その論理は 'Photo'クラスに保持されるべきでしょうか? –

+2

'self.class.model_name.downcase.pluralize'はあなたが探しているものです。しかし、なぜあなたはそれを行う必要があるでしょうか、より多くの情報を提供することができますか? – Fercell

答えて

0

`self.class.model_name.human`はあなたがRailsの内のクラス名を取得する方法ですが、私はあなたが変な何かをしようとしていると思います。この

self.class_name.pluralize.downcase 
関連する問題