Changeset 957
- Timestamp:
- 11/11/07 21:59:05 (10 months ago)
- Files:
-
- apps/merki/trunk/app/controllers/exceptions.rb (modified) (1 diff)
- apps/merki/trunk/app/controllers/pages.rb (modified) (4 diffs)
- apps/merki/trunk/app/models/page.rb (modified) (1 diff)
- apps/merki/trunk/app/views/layout/_sidebar.html.erb (modified) (2 diffs)
- apps/merki/trunk/app/views/pages/edit.html.erb (modified) (1 diff)
- apps/merki/trunk/spec/models/page_spec.rb (modified) (1 diff)
- apps/merki/trunk/spec/views/pages/edit_html_spec.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
apps/merki/trunk/app/controllers/exceptions.rb
r930 r957 3 3 # handle NotFound exceptions (404) 4 4 def not_found 5 re nder :format => :html5 redirect url(:new_page, :title => params[:id]) 6 6 end 7 7 apps/merki/trunk/app/controllers/pages.rb
r953 r957 17 17 18 18 def new 19 @page = Page.new 19 @page = Page.new(:title => params[:title]) 20 20 render @page 21 21 end … … 31 31 32 32 def edit(id) 33 @page = Page [id]33 @page = Page.find_by_slug(id) || Page[id] 34 34 raise BadRequest unless @page 35 35 render … … 37 37 38 38 def update(id, page) 39 @page = Page.find id 40 # puts @page 41 # raise BadRequest if @page.nil? 42 if @page.update_attributes(page) 39 @page = Page.find_by_slug(id) || Page[id] 40 raise NotFound unless @page 41 if @page.update_attributes(page) || !@page.dirty? 43 42 redirect url(:page, @page) 44 43 else … … 48 47 49 48 def destroy(id) 50 @page = Page [id]49 @page = Page.find_by_slug(id) || Page[id] 51 50 raise BadRequest unless @page 52 51 if @page.destroy! apps/merki/trunk/app/models/page.rb
r953 r957 65 65 end 66 66 67 def slug 68 Page.escape(title) 69 end 70 67 71 68 72 ## Private apps/merki/trunk/app/views/layout/_sidebar.html.erb
r955 r957 5 5 <li><%= link_to "New Page", url(:new_page) -%></li> 6 6 <% if defined?(@page) && !@page.new_record? -%> 7 <li><%= link_to "Edit Page", url(:edit_page, @page)-%></li>7 <li><%= link_to "Edit Page", url(:edit_page, :id => @page.slug)-%></li> 8 8 <% end -%> 9 9 </ul> … … 12 12 <ul> 13 13 <% for p in @pages -%> 14 <li><%= link_to p.title, url(:page, p) -%></li>14 <li><%= link_to p.title, url(:page, :id => p.slug) -%></li> 15 15 <% end -%> 16 16 </ul> apps/merki/trunk/app/views/pages/edit.html.erb
r953 r957 1 1 <h1 id="edit">Edit Page</h1> 2 <% form_for @page, :action => url(:page, @page) do -%>2 <% form_for @page, :action => url(:page, :id => @page.slug) do -%> 3 3 <%= partial "form" -%> 4 4 <div class="form-row"> apps/merki/trunk/spec/models/page_spec.rb
r949 r957 115 115 @page.should be_valid 116 116 end 117 118 it "should URL escape the title and return it as a slug" do 119 @page.title = "My Title" 120 @page.slug.should == "My+Title" 121 end 117 122 end 118 123 apps/merki/trunk/spec/views/pages/edit_html_spec.rb
r956 r957 1 1 require File.join(File.dirname(__FILE__),'..','..','spec_helper') 2 2 3 describe "/pages/ edit" do3 describe "/pages/My+Page/edit" do 4 4 before(:each) do 5 Page.stub!(:[]).and_return(mock("page")) 6 @controller,@action = get("/pages/1/edit") 5 @page = Page.new(:title => "My Page") 6 @page.stub!(:body).and_return("Here's my page!") 7 Page.stub!(:find_by_slug).and_return(@page) 8 @controller,@action = get("/pages/My+Page/edit") 7 9 @body = @controller.body 8 10 end 9 11 10 it "should mention Page s" do12 it "should mention Page" do 11 13 @body.should match(/Edit Page/) 12 14 end
