Rails:Blog

From Blognone

Jump to: navigation, search
$ rails blog
create  
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
      create  config/initializers
      ....
      create  public/javascripts/controls.js
      create  public/javascripts/application.js
      create  doc/README_FOR_APP
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log


$ ./script/generate scaffold blog title:string body:text
exists  app/models/
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/blogs
      exists  app/views/layouts/
      exists  test/functional/
      ...
      create    db/migrate
      create    db/migrate/001_create_blogs.rb
      create  app/controllers/blogs_controller.rb
      create  test/functional/blogs_controller_test.rb
      create  app/helpers/blogs_helper.rb
       route  map.resources :blogs
$ rake db:create:all
(in /Project/blog)
"db/development.sqlite3 already exists"
"db/production.sqlite3 already exists"
"db/test.sqlite3 already exists"
$ vi db/migrate/001_create_blogs.rb
class CreateBlogs < ActiveRecord::Migration
  def self.up
    create_table :blogs do |t|
      t.string :title
      t.text :body
 
      t.timestamps
    end
  end
 
  def self.down
    drop_table :blogs
  end
end
$ rake db:migrate
(in /Users/apirak/Documents/Aptana Studio/blog)
== 1 CreateBlogs: migrating ===============
-- create_table(:blogs)
   -> 0.0037s
== 1 CreateBlogs: migrated (0.0042s) =========
$ ./script/server

http://localhost:3000/blogs

$ vi app/views/blogs/index.html.erb
<h1>Listing blogs</h1>
 
<table>
  <tr>
    <th>Title</th>
    <th>Body</th>
  </tr>
 
<% for blog in @blogs %>
  <tr>
    <td><%=h blog.title %></td>
    <td><%=h blog.body %></td>
    <td><%= link_to 'Show', blog %></td>
    <td><%= link_to 'Edit', edit_blog_path(blog) %></td>
    <td><%= link_to 'Destroy', blog, :confirm => 'Are you sure?', :method => :delete %></td>
  </tr>
<% end %>
</table>
 
<br />
 
<%= link_to 'New blog', new_blog_path %>
<h1>My blogs</h1>
 
<% for blog in @blogs %>
    <h3><%=h blog.title %></h3>
    <p><%=h blog.body %></p>
    <%= link_to 'Read', blog %>|
    <%= link_to 'Edit', edit_blog_path(blog) %>|
    <%= link_to 'Destroy', 
                blog, 
                :confirm => 'Are you sure?', 
                :method => :delete %>
<% end %>
 
<br />
<br />
 
<%= link_to 'New blog', new_blog_path %>
$ ./script/generate scaffold comment blog:reference body:text email:string
      exists  app/models/
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/comments
      exists  app/views/layouts/
      exists  test/functional/
      ....
      create    test/fixtures/comments.yml
      exists    db/migrate
      create    db/migrate/002_create_comments.rb
      create  app/controllers/comments_controller.rb
      create  test/functional/comments_controller_test.rb
      create  app/helpers/comments_helper.rb
       route  map.resources :comments