module ActiveScaffold::Actions::Subform

Public Instance Methods

edit_associated() click to toggle source
# File lib/active_scaffold/actions/subform.rb, line 3
def edit_associated
  do_edit_associated
  render :action => 'edit_associated.js'
end

Protected Instance Methods

do_edit_associated() click to toggle source
# File lib/active_scaffold/actions/subform.rb, line 10
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.associated_class[params[:associated_id]] if params[:associated_id]
  @record ||= build_associated(@column, @parent_record)

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