Revision 4bc4fdc1
Added by Tomer Brisker about 8 years ago
app/controllers/api/v2/parameters_controller.rb | ||
---|---|---|
|
||
def create
|
||
@parameter = nested_obj.send(parameters_method).new(params[:parameter])
|
||
@parameter.reference_id = nested_obj.id if Rails.version == '3.2.8' # hack to override 3.2.8 hack ensure_reference_nil on parameter.rb
|
||
process_response @parameter.save
|
||
end
|
||
|
app/models/parameter.rb | ||
---|---|---|
default_scope -> { order("parameters.name") }
|
||
|
||
before_validation :strip_whitespaces
|
||
after_initialize :set_priority, :ensure_reference_nil
|
||
after_initialize :set_priority
|
||
|
||
PRIORITY = {:common_parameter => 0, :domain_parameter => 1, :subnet_parameter => 2, :os_parameter => 3, :group_parameter => 4, :host_parameter => 5}
|
||
|
||
... | ... | |
self.name = self.name.strip unless name.blank? # when name string comes from a hash key, it's frozen and cannot be modified
|
||
self.value.strip! unless value.blank?
|
||
end
|
||
|
||
# hack fix for Rails 3.2.8. Not needed for 3.2.18.
|
||
# related to **accepts_nested_attributes_for** on UI form (not API)
|
||
# which incorrectly assigns foreign key to 1 when attributes are from STI class (DomainParamter, HostParameter, etc)
|
||
def ensure_reference_nil
|
||
self.reference_id = nil if self.new_record? && self.reference_id == 1 && Rails.version == '3.2.8'
|
||
end
|
||
end
|
Also available in: Unified diff
Fixes #14934 - Remove rails 3.2 workaround from parameter model