`
sillycat
  • 浏览: 2538784 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Rails Study(II)Create Sample Post module

 
阅读更多
Rails Study(II)Create Sample Post module

4. Hello Rails
>rails generate controller home index
Find the file /app/views/home/index.html.erb and add one line <h1>Hello, Rails!</h1>

>rm public/index.html

Open the file config/routes.rb in your editor.
Railsexample::Application.routes.draw do
   root :to => "home#index"

Visit the page, http://localhost:3000

5. Getting Up and Running Quickly with Scaffolding
6. Creating a Resource
>rails generate scaffold Post name:string title:string content:text
scaffold can create the model, controller, migrate db and pages.

6.1 Running a Mirgration
>rake db:migrate
This script will create the table in config/database.yml on development database.
The table has columns id, name, title, content, created_at, updated_at.

6.2 Adding a Link
<%= link_to "My Blog", posts_path %> on home page.
The link_to method is one of Rails’ built-in view helpers. It creates a hyperlink based on text to display and where to go –
in this case, to the path for posts.

That is great, I can test these file in my local server.

6.4. The Model
class Post < ActiveRecord::Base
end
Active Record supplies a great deal of functionality to your Rails models for free, including basic database CRUD (Create, Read, Update, Destroy) operations

6.5 Adding Some Validation
class Post < ActionRecord::Base
validates :name, :presence =>true
validates :title,   :presence =>true,
                        :length => { :minimum => 5}
end

6.6 Using the Console
That is really a nice place to test my applications.
>rails console
>>p=Post.new(:content => "new post for fun")
>>p.save
>>p.errors
=> #<ActiveModel::Errors:0x2983410 @base=#<Post id: nil, name: nil, title: nil, content: "test for fu
n", created_at: nil, updated_at: nil>, @messages={:name=>["can't be blank"], :title=>["can't be blank
", "is too short (minimum is 5 characters)"]}>

6.7. Listing All Posts
check the controller.rb classes.
  # GET /posts
  # GET /posts.json
  def index
    @posts = Post.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @posts }
    end
  end
Post.all calls the Post model to return all of the posts currently in the database
http://localhost:3000/posts  for HTML, and will go to index.html.erb
http://localhost:3000/posts.json for JSON response.

6.8 Customizing the Layout
Layout file in /app/views/layouts/application.html.erb
We can make some changes here:
<!DOCTYPE html>
<html>
<head>
  <title>Railsexample</title>
  <%= stylesheet_link_tag    "application" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body style="background: #EEEEEE;">

<%= yield %>

</body>
</html>

6.9 Creating New Posts
edit.html.erb and new.html.erb all render to _form.html.erb

6.10 Showing an Individual Post
6.11. Editing Posts
I notice that I can get the xml format page in this way:
http://localhost:3000/posts.xml
respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @posts }
      format.xml { render xml: @posts }
end

6.12 Destroying a Post

references:
http://guides.rubyonrails.org/getting_started.html

分享到:
评论

相关推荐

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    rails_static_sample

    总结,“rails_static_sample”示例项目涵盖了Rails开发的基础知识,通过学习这个项目,开发者能够理解Rails的项目结构、MVC架构、数据库操作、路由配置、生成器使用以及JavaScript在Rails中的应用。这为深入学习和...

    rails-caldav-sample

    Rails CalDav 示例如何跑步输入终端: git clone git@github.com:railsmuffin/rails-caldav-sample.gitcd rails-caldav-samplebundlebundle exec rake db:resetbundle exec rails s然后在您的 OS X 设备上System ...

    rails_upload_sample:rails_upload_sample

    自述 此自述文件通常会记录启动和运行应用程序所需的任何步骤。 您可能想要涵盖的内容: Ruby版 系统依赖 配置 数据库创建 数据库初始化 如何运行测试套件 服务(作业队列、缓存服务器、搜索引擎等) ...

    evernote-rails-sync-sample:示例 Ruby on Rails 应用程序,展示了如何与 Evernote 执行同步

    evernote-rails-sync-sample 示例 Ruby on Rails 应用程序,展示了如何与 Evernote 执行同步先决条件Ruby、宝石、Rails 这在 Ruby 2.2.1 和 Rails 4 上运行。在运行服务器之前,运行bundle install从Gemfile安装 gem...

    react-rails-redux-sample:使用redux和react-rails的Rails应用示例

    react-rails redux示例 这是一个使用react-rails和redux的简单示例应用程序 ...cd react-rails-redux-sample bundle install npm install 故障排除 Error while running /home/pavel/projects/react-rails-redux-sa

    Rails 101 入门电子书

    ### Rails 101 入门电子书知识点详解 #### 一、简介 《Rails 101 入门电子书》是一本非常适合初学者直接入门的书籍,它由xdite编写并出版于2014年6月10日。本书主要针对的是希望学习Ruby on Rails框架的读者,特别...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    使用Aptana+Rails开发Rails Web应用(中文)

    例如,要在Rails应用中创建一个新的资源,如博客文章,你需要在models目录下创建一个名为`post.rb`的文件,定义Post类,并设置属性如标题和内容。在controllers目录下创建`posts_controller.rb`,定义控制器方法,如...

    Ruby on Rails入门例子

    - **生成器(Generators)**:Rails提供了强大的生成器工具,可以自动生成模型、控制器、迁移文件等,例如`rails generate model Post title:string content:text`。 - **数据库迁移(Database Migrations)**:...

    flex 與 rails 開發的問題單管理sample

    本文将深入探讨“flex 與 rails 開發的問題單管理sample”这一主题,帮助读者理解如何结合这两种技术来创建一个高效的问题单管理系统。 Flex是一种基于Adobe AIR(Adobe Integrated Runtime)的开发框架,主要使用...

    Rails.Angular.Postgres.and.Bootstrap.2nd.Edition

    With this fully revised new edition, take a holistic view of full-stack development to create usable, high-performing applications with Rails 5. Rails is a great tool for building web applications, ...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    ruby-rails-sample

    cd ruby-rails-sample bundle bundle exec rake bootstrap foreman start 您的应用程序现在应该在上运行。 部署到 Heroku heroku create git push heroku master heroku run rake db:migrate heroku open 文档 ...

    rails指南 中文版

    6. **Scaffolding**:Rails提供了快速生成基本CRUD(Create, Read, Update, Delete)操作的命令行工具,可以自动生成控制器、视图、样式表和测试文件,方便快速搭建原型。 7. **Testing**:Rails强调测试驱动开发,...

    Ruby on Rails Tutorial Learn Rails by Example 的源代码

    这本书通过实际的示例项目“sample_app”引导读者深入理解Rails框架的各个方面。现在,我们来详细探讨这个源代码包中的知识点。 1. **Ruby on Rails框架基础**:Rails是一个基于Ruby语言的开源Web应用框架,遵循MVC...

    Rails3常用命令行命令

    Rails的scaffold命令是一个强大的工具,可以快速生成一套完整的CRUD(Create, Read, Update, Delete)界面,包括Model、View和Controller。例如,创建一个名为Person的资源: ```bash rails g scaffold person name...

    rails-api-4.0.0

    《Rails API 4.0.0:Ruby on Rails框架的API设计与开发指南》 Rails API 4.0.0是Ruby on Rails框架的一个版本,专门针对构建应用程序接口(APIs)进行了优化。Ruby on Rails是由David Heinemeier Hansson创建的开源...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    中文版rails教程

    1. **生成资源(Generating Resources)**:使用`rails generate`命令可以快速创建模型、控制器、视图等文件,如`rails generate scaffold Post title:string content:text`会生成一个名为Post的资源,包含相关的...

Global site tag (gtag.js) - Google Analytics