Sha256: 987becae6fd500383d4a2636f754a63f76bcfd69ff53b2b9d8350dddff7b4e50

Contents?: true

Size: 778 Bytes

Versions: 2

Compression:

Stored size: 778 Bytes

Contents

class UsersController < ApplicationController
  before_filter :build_resource, only: [:new, :create]
  before_filter :load_resource, except: [:new, :create]

  def new
    3.times{ @resource.roles.build }
  end

  def create
    @resource.update_attributes!(resource_params)
    redirect_to edit_user_path(@resource)
  end

  def update
    @resource.update_attributes!(resource_params)
    redirect_to edit_user_path(@resource)
  end

  private

  def scope
    User
  end

  def build_resource
    @resource = scope.new
  end

  def load_resource
    @resource = scope.find(params[:id])
  end

  def resource_params
    DynamicFieldsFor.rails4? ?
      params.fetch(:user, {}).permit(:user_name, roles_attributes: [:id, :role_name, :_destroy]) :
      params[:user]
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dynamic-fields-for-1.1.0 spec/rails_app/app/controllers/users_controller.rb
dynamic-fields-for-1.0.4 spec/rails_app/app/controllers/users_controller.rb