Schéma:RoR: ActiveScaffold: Comment est-ce que je peux conditionner update_column fetaure?
action_types
------------
id
name
description
actions
-------
id
action_type_id
date
description
L'objectif est de copier action_types.description à actions.description que si elle est pas encore occupé sur l'interface utilisateur (!).
Ce qui est fait:
class ActionsController < ApplicationController
active_scaffold :action do |c|
c.columns = [ \
, :date \
, :action_type \
, :description \
]
c.columns[:action_type].form_ui = :select
c.columns[:action_type].options[:update_column] = :description
c.columns[:description].form_ui = :textarea
c.columns[:description].options = { :cols => 40, :rows => 5}
end
protected
def after_render_field(record, column)
# record: almost empty, only "action_type" is filled.
# column: column.name == "action_type"
# @params[]: id: id for the record
# But no data on UI state. So if the user wrote some lines into the
# description then it will be lost. No possibility
# to express "do nothing!"
end
#...
end
Sinon je peux accepter si nous n'avons pas cette fonctionnalité lors de « mise à jour » que sur « créer ». Ce qui est une demi-mesure, mais sera suffisant pour le moment.
Des idées?
(Rails)
2.3.4