public
Created

Rails scaffold controller template for XML

  • Download Gist
gistfile1.txt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
RAILS_ROOT/lib/templates/rails/scaffold_controller$ cat controller.rb
<% module_namespacing do -%>
class <%= controller_class_name %>Controller < ApplicationController
# GET <%= route_url %>
# GET <%= route_url %>.xml
def index
@<%= plural_table_name %> = <%= orm_class.all(class_name) %>
 
respond_to do |format|
format.html # index.html.erb
format.xml { render <%= key_value :xml, "@#{plural_table_name}" %> }
end
end
 
# GET <%= route_url %>/1
# GET <%= route_url %>/1.xml
def show
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
 
respond_to do |format|
format.html # show.html.erb
format.xml { render <%= key_value :xml, "@#{singular_table_name}" %> }
end
end
 
# GET <%= route_url %>/new
# GET <%= route_url %>/new.xml
def new
@<%= singular_table_name %> = <%= orm_class.build(class_name) %>
 
respond_to do |format|
format.html # new.html.erb
format.xml { render <%= key_value :xml, "@#{singular_table_name}" %> }
end
end
 
# GET <%= route_url %>/1/edit
def edit
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
end
 
# POST <%= route_url %>
# POST <%= route_url %>.xml
def create
@<%= singular_table_name %> = <%= orm_class.build(class_name, "params[:#{singular_table_name}]") %>
 
respond_to do |format|
if @<%= orm_instance.save %>
format.html { redirect_to @<%= singular_table_name %>, <%= key_value :notice, "'#{human_name} was successfully created.'" %> }
format.xml { render <%= key_value :xml, "@#{singular_table_name}" %>, <%= key_value :status, ':created' %>, <%= key_value :location, "@#{singular_table_name}" %> }
else
format.html { render <%= key_value :action, '"new"' %> }
format.xml { render <%= key_value :xml, "@#{orm_instance.errors}" %>, <%= key_value :status, ':unprocessable_entity' %> }
end
end
end
 
# PUT <%= route_url %>/1
# PUT <%= route_url %>/1.xml
def update
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
 
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} was successfully updated.'" %> }
format.xml { head :ok }
else
format.html { render <%= key_value :action, '"edit"' %> }
format.xml { render <%= key_value :xml, "@#{orm_instance.errors}" %>, <%= key_value :status, ':unprocessable_entity' %> }
end
end
end
 
# DELETE <%= route_url %>/1
# DELETE <%= route_url %>/1.xml
def destroy
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
@<%= orm_instance.destroy %>
 
respond_to do |format|
format.html { redirect_to <%= index_helper %>_url }
format.xml { head :ok }
end
end
end
<% end -%>

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.