//depot/projects/wiki/app/controllers/wiki_controller.rb#1 – add change 171 (text) ·revision history
| 1 | class WikiController < ApplicationController |
| 2 | layout 'wiki' |
| 3 | |
| 4 | def index |
| 5 | redirect_to :action => 'show', :name => 'FrontPage' |
| 6 | end |
| 7 | |
| 8 | def show |
| 9 | @page = find_or_new(@params['name']) |
| 10 | end |
| 11 | |
| 12 | def edit |
| 13 | @page = find_or_new(@params['name']) |
| 14 | end |
| 15 | |
| 16 | def save |
| 17 | @page = find_or_new(@params['name']) |
| 18 | @page.body = @params['page']['body'] |
| 19 | if @page.save |
| 20 | redirect_to :action => 'show', :name => @page.name |
| 21 | else |
| 22 | render_action 'edit' |
| 23 | end |
| 24 | end |
| 25 | |
| 26 | private |
| 27 | |
| 28 | def find_or_new(name) |
| 29 | Page.find_by_name(name) || Page.new(:name => name) |
| 30 | end |
| 31 | end |