Class: Ezframe::ForeignType
Instance Attribute Summary collapse
Attributes inherited from TypeBase
#attribute, #error, #parent
Instance Method Summary
collapse
Methods inherited from IntType
#normalize, #validate, #value=
Methods inherited from TextType
#normalize, #value=
Methods inherited from TypeBase
#db_value, get_class, #initialize, #key, #label, #make_error_box, #multi_inputs?, #no_edit?, #no_view?, #normalize, #type, type_name, #use_view_format, #validate, #value, #value=
Instance Attribute Details
Returns the value of attribute db_data.
234
235
236
|
# File 'lib/ezframe/column_type.rb', line 234
def db_data
@db_data
end
|
Instance Method Details
266
267
268
|
# File 'lib/ezframe/column_type.rb', line 266
def db_type
return "int"
end
|
254
255
256
257
258
259
260
261
262
263
264
|
# File 'lib/ezframe/column_type.rb', line 254
def form(opts = {})
return nil if no_edit? && !opts[:force]
view_key = @attribute[:menu_column] || @attribute[:view_column]
data_h = DB::Cache[target_table.to_sym]
= data_h.map do |id, data|
[ data[:id], data[view_key&.to_sym] ]
end
key = self.key
key ="#{key}#{opts[:key_suffix]}" if opts[:key_suffix]
return Ht.select(name: key, class: %w[browser-default], item: , value: @value, after: make_error_box(key))
end
|
#set_db_data ⇒ Object
270
271
272
273
274
275
|
# File 'lib/ezframe/column_type.rb', line 270
def set_db_data
@db_data = {}
if @value
@db_data = DB::Cache[target_table.to_sym][@value]
end
end
|
#target_table ⇒ Object
236
237
238
239
240
|
# File 'lib/ezframe/column_type.rb', line 236
def target_table
table = @attribute[:table]
return table if table
return self.key
end
|
#view(opts = {}) ⇒ Object
242
243
244
245
246
247
248
249
250
251
252
|
# File 'lib/ezframe/column_type.rb', line 242
def view(opts = {})
return nil if no_view? && !opts[:force]
colkey = @attribute[:view_column]
if @value && colkey
data_h = DB::Cache[target_table.to_sym]
data = data_h[@value.to_i]
return nil unless data
return data[colkey.to_sym]
end
return nil
end
|