Created
February 3, 2012 23:56
-
-
Save ch1ago/1733858 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<% module_namespacing do -%> | |
class <%= controller_class_name %>Controller < ApplicationController | |
# TODO: name these comments properly with all the matching URLs to each action | |
# GET <%= route_url %> | |
def index | |
@<%= plural_table_name %> = <%= orm_class.all(class_name) %> | |
end | |
# GET <%= route_url %>/1 | |
def show | |
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %> | |
end | |
# GET <%= route_url %>/new | |
def new | |
@<%= singular_table_name %> = <%= orm_class.build(class_name) %> | |
end | |
# POST <%= route_url %> | |
def create | |
@<%= singular_table_name %> = <%= orm_class.build(class_name, "params[:#{singular_table_name}]") %> | |
if @<%= orm_instance.save %> | |
redirect_to @<%= singular_table_name %>, <%= key_value :notice, "'#{human_name} foi criado.'" %> | |
else | |
render <%= key_value :action, '"new"' %> | |
end | |
end | |
# GET <%= route_url %>/1/edit | |
def edit | |
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %> | |
end | |
# PUT <%= route_url %>/1 | |
def update | |
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %> | |
if @<%= orm_instance.update_attributes("params[:#{singular_table_name}]") %> | |
redirect_to @<%= singular_table_name %>, <%= key_value :notice, "'#{human_name} foi atualizado.'" %> | |
else | |
render <%= key_value :action, '"edit"' %> | |
end | |
end | |
# DELETE <%= route_url %>/1 | |
def destroy | |
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %> | |
@<%= orm_instance.destroy %> | |
redirect_to <%= index_helper %>_url | |
end | |
end | |
<% end -%> | |
=begin | |
# GET <%= route_url %> | |
# GET <%= route_url %>.json | |
def index | |
@<%= plural_table_name %> = <%= orm_class.all(class_name) %> | |
#beyond simple html | |
respond_to do |format| | |
format.html { } # index.html.erb | |
format.js { } # index.js.erb | |
format.atom { } # index.atom.builder | |
format.json { render <%= key_value :json, "@#{plural_table_name}" %> } | |
format.xml { render <%= key_value :xml, "@#{plural_table_name}" %> } | |
format.yaml { render <%= key_value :text, "@#{plural_table_name}.to_yaml" %> } | |
end | |
end | |
# GET <%= route_url %>/1 | |
# GET <%= route_url %>/1.json | |
def show | |
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %> | |
#beyond simple html | |
respond_to do |format| | |
format.html { } # show.html.erb | |
format.js { } # show.js.erb | |
format.atom { } # show.atom.builder | |
format.json { render <%= key_value :json, "@#{singular_table_name}" %> } | |
format.xml { render <%= key_value :xml, "@#{singular_table_name}" %> } | |
format.yaml { render <%= key_value :text, "@#{singular_table_name}.to_yaml" %> } | |
end | |
end | |
# GET <%= route_url %>/new | |
# GET <%= route_url %>/new.json | |
def new | |
@<%= singular_table_name %> = <%= orm_class.build(class_name) %> | |
#beyond simple html, use show code | |
end | |
# GET <%= route_url %>/1/edit | |
def edit | |
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %> | |
#beyond simple html, use show code | |
end | |
# POST <%= route_url %> | |
# POST <%= route_url %>.json | |
def create | |
@<%= singular_table_name %> = <%= orm_class.build(class_name, "params[:#{singular_table_name}]") %> | |
#beyond simple html | |
respond_to do |format| | |
if @<%= orm_instance.save %> | |
format.html { redirect_to @<%= singular_table_name %>, <%= key_value :notice, "'#{human_name} foi criado.'" %> } | |
format.js { } # create.js.erb | |
format.atom { } # create.atom.builder | |
format.json { render <%= key_value :json, "@#{singular_table_name}" %>, <%= key_value :status, ':created' %>, <%= key_value :location, "@#{singular_table_name}" %> } | |
format.xml { } #TODO | |
format.yaml { } #TODO | |
else | |
format.html { render <%= key_value :action, '"new"' %> } | |
format.js { } # create.js.erb | |
format.atom { } # create.atom.builder | |
#format.js { render 'create_fail' } # create_fail.js.erb | |
#format.atom { render 'create_fail' } # create_fail.atom.builder | |
format.json { render <%= key_value :json, "@#{orm_instance.errors}" %>, <%= key_value :status, ':unprocessable_entity' %> } | |
format.xml { } #TODO | |
format.yaml { } #TODO | |
end | |
end | |
end | |
# PUT <%= route_url %>/1 | |
# PUT <%= route_url %>/1.json | |
def update | |
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %> | |
#beyond simple html | |
respond_to do |format| | |
if @<%= orm_instance.update_attributes("params[:#{singular_table_name}]") %> | |
format.html { redirect_to @<%= singular_table_name %>, <%= key_value :notice, "'#{human_name} foi atualizado.'" %> } | |
format.js { } # update.js.erb | |
format.atom { } # update.atom.builder | |
format.json { head :no_content } | |
format.xml { } #TODO | |
format.yaml { } #TODO | |
else | |
format.html { render <%= key_value :action, '"edit"' %> } | |
format.js { } # update.js.erb | |
format.atom { } # update.atom.builder | |
#format.js { render 'update_fail' } # update_fail.js.erb | |
#format.atom { render 'update_fail' } # update_fail.atom.builder | |
format.json { render <%= key_value :json, "@#{orm_instance.errors}" %>, <%= key_value :status, ':unprocessable_entity' %> } | |
format.xml { } #TODO | |
format.yaml { } #TODO | |
end | |
end | |
end | |
# DELETE <%= route_url %>/1 | |
# DELETE <%= route_url %>/1.json | |
def destroy | |
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %> | |
@<%= orm_instance.destroy %> | |
#beyond simple html | |
respond_to do |format| | |
format.html { redirect_to <%= index_helper %>_url } | |
format.js { } # update.js.erb | |
format.atom { } # update.atom.builder | |
format.json { head :no_content } | |
format.xml { } #TODO | |
format.yaml { } #TODO | |
end | |
end | |
=end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment