Sha256: f950948ea01f6003536de789b8ac999e73c82ccfc8a1f8670921fa01fd05c94b

Contents?: true

Size: 1.84 KB

Versions: 73

Compression:

Stored size: 1.84 KB

Contents

<% if namespaced? -%>
require_dependency "<%= namespaced_path %>/application_controller"

<% end -%>
<% module_namespacing do -%>
class <%= controller_class_name %>Controller < ApplicationController
  before_action :set_<%= singular_table_name %>, only: [:show, :edit, :update, :delete]

  # GET <%= route_url %>
  def index
    @<%= plural_table_name %> = <%= orm_class.all(class_name) %>
  end

  # GET <%= route_url %>/1
  def show
  end

  # GET <%= route_url %>/new
  def new
    @<%= singular_table_name %> = <%= orm_class.build(class_name) %>
  end

  # GET <%= route_url %>/1/edit
  def edit
  end

  # POST <%= route_url %>
  def create
    @<%= singular_table_name %> = <%= orm_class.build(class_name, "#{singular_table_name}_params") %>

    if @<%= orm_instance.save %>
      redirect_to "/<%= plural_table_name %>/#{@<%= singular_table_name %>.id}"
    else
      render :new
    end
  end

  # PUT <%= route_url %>/1
  def update
    if @<%= orm_instance.update("#{singular_table_name}_params") %>
      render json: {success: true, location: url_for("/<%= plural_table_name %>/#{@<%= singular_table_name %>.id}")}
    else
      render :edit
    end
  end

  # DELETE <%= route_url %>/1
  def delete
    @<%= orm_instance.destroy %>
    if request.xhr?
      render json: {success: true}
    else
      redirect_to "/<%= plural_table_name %>"
    end
  end

private
  # Use callbacks to share common setup or constraints between actions.
  def set_<%= singular_table_name %>
    @<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
  end

  def <%= "#{singular_table_name}_params" %>
    <%- if attributes_names.empty? -%>
    params.fetch(:<%= singular_table_name %>, {})
    <%- else -%>
    params.require(:<%= singular_table_name %>).permit(<%= attributes_names.map { |name| ":#{name}" }.join(', ') %>)
    <%- end -%>
  end
end
<% end -%>

Version data entries

73 entries across 73 versions & 1 rubygems

Version Path
jets-1.0.6 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-1.0.5 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-1.0.4 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-1.0.3 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-1.0.2 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-1.0.1 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-1.0.0 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-0.10.4 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-0.10.3 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-0.10.2 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-0.10.1 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-0.10.0 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-0.9.2 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-0.9.1 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-0.9.0 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-0.8.18 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-0.8.17 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-0.8.15 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-0.8.14 lib/jets/generator/templates/rails/scaffold_controller/controller.rb
jets-0.8.13 lib/jets/generator/templates/rails/scaffold_controller/controller.rb