aboutsummaryrefslogtreecommitdiffstats
path: root/guides/code/getting_started/app/controllers/posts_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'guides/code/getting_started/app/controllers/posts_controller.rb')
-rw-r--r--guides/code/getting_started/app/controllers/posts_controller.rb45
1 files changed, 45 insertions, 0 deletions
diff --git a/guides/code/getting_started/app/controllers/posts_controller.rb b/guides/code/getting_started/app/controllers/posts_controller.rb
new file mode 100644
index 0000000000..85d2c1de47
--- /dev/null
+++ b/guides/code/getting_started/app/controllers/posts_controller.rb
@@ -0,0 +1,45 @@
+class PostsController < ApplicationController
+
+ def index
+ @posts = Post.all
+ end
+
+ def show
+ @post = Post.find(params[:id])
+ end
+
+ def new
+ @post = Post.new
+ end
+
+ def create
+ @post = Post.new(params[:post])
+
+ if @post.save
+ redirect_to :action => :show, :id => @post.id
+ else
+ render 'new'
+ end
+ end
+
+ def edit
+ @post = Post.find(params[:id])
+ end
+
+ def update
+ @post = Post.find(params[:id])
+
+ if @post.update_attributes(params[:post])
+ redirect_to :action => :show, :id => @post.id
+ else
+ render 'edit'
+ end
+ end
+
+ def destroy
+ @post = Post.find(params[:id])
+ @post.destroy
+
+ redirect_to :action => :index
+ end
+end