Sha256: f6ea01717529616aaa32351068dc9b9d0682fd95d8bced6ac15f2f1209e4ed3c

Contents?: true

Size: 1008 Bytes

Versions: 7

Compression:

Stored size: 1008 Bytes

Contents

module ActiveScaffold::Actions
  module Subform
    def edit_associated
      do_edit_associated
      render :action => 'edit_associated.js'
    end

    protected

    def do_edit_associated
      @parent_record = params[:id].nil? ? new_model : find_if_allowed(params[:id], :update)
      @column = active_scaffold_config.columns[params[:association]]

      # NOTE: we don't check whether the user is allowed to update this record, because if not, we'll still let them associate the record. we'll just refuse to do more than associate, is all.
      @record = @column.association.klass.find(params[:associated_id]) if params[:associated_id]
      @record ||= if @column.singular_association?
        @parent_record.send("build_#{@column.name}".to_sym)
      else
        @parent_record.send(@column.name).build
      end

      @scope = "[#{@column.name}]"
      @scope += (@record.new_record?) ? "[#{(Time.now.to_f*1000).to_i.to_s}]" : "[#{@record.id}]" if @column.plural_association?
    end

  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
active_scaffold-3.0.26 lib/active_scaffold/actions/subform.rb
active_scaffold-3.0.25 lib/active_scaffold/actions/subform.rb
active_scaffold_clarity-3.0.24.2 lib/active_scaffold/actions/subform.rb
active_scaffold-3.0.24 lib/active_scaffold/actions/subform.rb
active_scaffold-3.0.23 lib/active_scaffold/actions/subform.rb
active_scaffold-3.0.22 lib/active_scaffold/actions/subform.rb
active_scaffold-3.0.21 lib/active_scaffold/actions/subform.rb