From 89d3dc4a676ee82cc6bad4d9d00535897318f1c3 Mon Sep 17 00:00:00 2001 From: hukl Date: Sat, 31 Jan 2009 13:04:29 +0100 Subject: Added Page model scaffold --- app/controllers/pages_controller.rb | 85 +++++++++++++++++++++++++++++++++++++ app/helpers/pages_helper.rb | 2 + app/models/page.rb | 7 +++ app/views/layouts/pages.html.erb | 17 ++++++++ app/views/pages/edit.html.erb | 32 ++++++++++++++ app/views/pages/index.html.erb | 28 ++++++++++++ app/views/pages/new.html.erb | 31 ++++++++++++++ app/views/pages/show.html.erb | 28 ++++++++++++ 8 files changed, 230 insertions(+) create mode 100644 app/controllers/pages_controller.rb create mode 100644 app/helpers/pages_helper.rb create mode 100644 app/models/page.rb create mode 100644 app/views/layouts/pages.html.erb create mode 100644 app/views/pages/edit.html.erb create mode 100644 app/views/pages/index.html.erb create mode 100644 app/views/pages/new.html.erb create mode 100644 app/views/pages/show.html.erb (limited to 'app') diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb new file mode 100644 index 0000000..7e3f955 --- /dev/null +++ b/app/controllers/pages_controller.rb @@ -0,0 +1,85 @@ +class PagesController < ApplicationController + # GET /pages + # GET /pages.xml + def index + @pages = Page.find(:all) + + respond_to do |format| + format.html # index.html.erb + format.xml { render :xml => @pages } + end + end + + # GET /pages/1 + # GET /pages/1.xml + def show + @page = Page.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.xml { render :xml => @page } + end + end + + # GET /pages/new + # GET /pages/new.xml + def new + @page = Page.new + + respond_to do |format| + format.html # new.html.erb + format.xml { render :xml => @page } + end + end + + # GET /pages/1/edit + def edit + @page = Page.find(params[:id]) + end + + # POST /pages + # POST /pages.xml + def create + @page = Page.new(params[:page]) + + respond_to do |format| + if @page.save + flash[:notice] = 'Page was successfully created.' + format.html { redirect_to(@page) } + format.xml { render :xml => @page, :status => :created, :location => @page } + else + format.html { render :action => "new" } + format.xml { render :xml => @page.errors, :status => :unprocessable_entity } + end + end + end + + # PUT /pages/1 + # PUT /pages/1.xml + def update + @page = Page.find(params[:id]) + + respond_to do |format| + if @page.update_attributes(params[:page]) + flash[:notice] = 'Page was successfully updated.' + format.html { redirect_to(@page) } + format.xml { head :ok } + else + format.html { render :action => "edit" } + format.xml { render :xml => @page.errors, :status => :unprocessable_entity } + end + end + end + + # DELETE /pages/1 + # DELETE /pages/1.xml + def destroy + @page = Page.find(params[:id]) + @page.destroy + + respond_to do |format| + format.html { redirect_to(pages_url) } + format.xml { head :ok } + end + end +end diff --git a/app/helpers/pages_helper.rb b/app/helpers/pages_helper.rb new file mode 100644 index 0000000..2c057fd --- /dev/null +++ b/app/helpers/pages_helper.rb @@ -0,0 +1,2 @@ +module PagesHelper +end diff --git a/app/models/page.rb b/app/models/page.rb new file mode 100644 index 0000000..0fcb4a8 --- /dev/null +++ b/app/models/page.rb @@ -0,0 +1,7 @@ +class Page < ActiveRecord::Base + + belongs_to :node + + acts_as_list :column => :revision, :scope => :node_id + +end diff --git a/app/views/layouts/pages.html.erb b/app/views/layouts/pages.html.erb new file mode 100644 index 0000000..327e0eb --- /dev/null +++ b/app/views/layouts/pages.html.erb @@ -0,0 +1,17 @@ + + + + + + Pages: <%= controller.action_name %> + <%= stylesheet_link_tag 'scaffold' %> + + + +

<%= flash[:notice] %>

+ +<%= yield %> + + + diff --git a/app/views/pages/edit.html.erb b/app/views/pages/edit.html.erb new file mode 100644 index 0000000..a4b285a --- /dev/null +++ b/app/views/pages/edit.html.erb @@ -0,0 +1,32 @@ +

Editing page

+ +<% form_for(@page) do |f| %> + <%= f.error_messages %> + +

+ <%= f.label :node_id %>
+ <%= f.text_field :node_id %> +

+

+ <%= f.label :title %>
+ <%= f.text_field :title %> +

+

+ <%= f.label :abstract %>
+ <%= f.text_area :abstract %> +

+

+ <%= f.label :body %>
+ <%= f.text_area :body %> +

+

+ <%= f.label :revision %>
+ <%= f.text_field :revision %> +

+

+ <%= f.submit "Update" %> +

+<% end %> + +<%= link_to 'Show', @page %> | +<%= link_to 'Back', pages_path %> diff --git a/app/views/pages/index.html.erb b/app/views/pages/index.html.erb new file mode 100644 index 0000000..41c8bae --- /dev/null +++ b/app/views/pages/index.html.erb @@ -0,0 +1,28 @@ +

Listing pages

+ + + + + + + + + + +<% for page in @pages %> + + + + + + + + + + +<% end %> +
NodeTitleAbstractBodyRevision
<%=h page.node_id %><%=h page.title %><%=h page.abstract %><%=h page.body %><%=h page.revision %><%= link_to 'Show', page %><%= link_to 'Edit', edit_page_path(page) %><%= link_to 'Destroy', page, :confirm => 'Are you sure?', :method => :delete %>
+ +
+ +<%= link_to 'New page', new_page_path %> diff --git a/app/views/pages/new.html.erb b/app/views/pages/new.html.erb new file mode 100644 index 0000000..b27dc62 --- /dev/null +++ b/app/views/pages/new.html.erb @@ -0,0 +1,31 @@ +

New page

+ +<% form_for(@page) do |f| %> + <%= f.error_messages %> + +

+ <%= f.label :node_id %>
+ <%= f.text_field :node_id %> +

+

+ <%= f.label :title %>
+ <%= f.text_field :title %> +

+

+ <%= f.label :abstract %>
+ <%= f.text_area :abstract %> +

+

+ <%= f.label :body %>
+ <%= f.text_area :body %> +

+

+ <%= f.label :revision %>
+ <%= f.text_field :revision %> +

+

+ <%= f.submit "Create" %> +

+<% end %> + +<%= link_to 'Back', pages_path %> diff --git a/app/views/pages/show.html.erb b/app/views/pages/show.html.erb new file mode 100644 index 0000000..254b940 --- /dev/null +++ b/app/views/pages/show.html.erb @@ -0,0 +1,28 @@ +

+ Node: + <%=h @page.node_id %> +

+ +

+ Title: + <%=h @page.title %> +

+ +

+ Abstract: + <%=h @page.abstract %> +

+ +

+ Body: + <%=h @page.body %> +

+ +

+ Revision: + <%=h @page.revision %> +

+ + +<%= link_to 'Edit', edit_page_path(@page) %> | +<%= link_to 'Back', pages_path %> -- cgit v1.3