Class ItemPolymorphic
In: app/models/item_polymorphic.rb
Parent: Item

Polymorphic な関連付けによる項目のモデル。

Methods

Included Modules

Condition

Public Instance methods

カレンダー参照を行うかどうかを判定する。

[Source]

     # File app/models/item_polymorphic.rb, line 133
133:   def calendar?
134:     false
135:   end

checkbox 形式を利用するかどうか判定する。

[Source]

     # File app/models/item_polymorphic.rb, line 138
138:   def checkbox?
139:     false
140:   end

ユーザーの言語での名前を返す。

[Source]

     # File app/models/item_polymorphic.rb, line 108
108:   def human_name
109:     name.blank? ? column_name : name
110:   end

並び替えを指定する文字列または false を返す。

[Source]

     # File app/models/item_polymorphic.rb, line 128
128:   def order
129:     false
130:   end

[Source]

     # File app/models/item_polymorphic.rb, line 103
103:   def picker_field(it, name)
104:     detail? ? "#{input_parameter}#{id}_#{name}" : "#{input_parameter}#{id}"
105:   end

外部参照を行うカラムに対応している場合はそのクラスを返す。 さもなくば false を返す。

[Source]

     # File app/models/item_polymorphic.rb, line 144
144:   def reference(x=nil)
145:     x.__send__("#{column_name}_type").constantize
146:   end

入力が必須かどうかを判定する。

[Source]

     # File app/models/item_polymorphic.rb, line 113
113:   def required?
114:     validates_presence? # FIXME
115:   end

(権限が許せば)インスタンスに属性を設定する。

[Source]

     # File app/models/item_polymorphic.rb, line 118
118:   def set_attributes(x, attr)
119:     if writable?
120:       %w|id type|.each do |k|
121:         key = "#{column_name}_#{k}"
122:         x.__send__("#{key}=", attr[key.to_sym])
123:       end
124:     end
125:   end

対象 it の表示に適したデータを返す。

[Source]

     # File app/models/item_polymorphic.rb, line 149
149:   def to_data(it)
150:     value = it.__send__(column_name)
151:     value ? value.name : ""
152:   end

種類の名前を返す。

[Source]

     # File app/models/item_polymorphic.rb, line 99
 99:   def type_name
100:     s_("Item|Polymorphic")
101:   end

[Validate]