[ruby on rails] 跟我学之路由映射

前面《[ruby on rails] 跟我学之Hello World》提到,路由对应的文件是 config/routes.rb

实际上我们只是添加了一句代码:

  resources :posts

但是这个代码默认的路由却有多个,可以通过 rake routes进行查看,如下:

[email protected]:/home/ywt/ror_tests/blog# rake routes
   Prefix Verb   URI Pattern               Controller#Action
    posts GET    /posts(.:format)          posts#index
          POST   /posts(.:format)          posts#create
 new_post GET    /posts/new(.:format)      posts#new
edit_post GET    /posts/:id/edit(.:format) posts#edit
     post GET    /posts/:id(.:format)      posts#show
          PATCH  /posts/:id(.:format)      posts#update
          PUT    /posts/:id(.:format)      posts#update
          DELETE /posts/:id(.:format)      posts#destroy

其中:

index   对应多个对象的列表

new     对应单个对象的新增页面

edit     对应单个对象的编辑页面

show   对应单个对象的现实页面

而, create/update/destroy是没有view(页面)文件的,处理实际的数据创建,更新,删除操作。

因此对于一个post对象,我们有7个action,其中四个有view文件。

修改 app/controllers/posts_controller.rb如下:

class PostsController < ApplicationController
  def index
  end

  def new
  end

  def create
  end

  def edit
  end

  def update
  end

  def show
  end

  def destroy
  end
end

新增文件 app/views/new.html.erb ,  app/views/edit.html.erb , app/views/show.html.erb, 分别对应 new 动作, edit动作, show动作。

此章节为后续做铺垫。

时间: 2024-10-31 14:17:04

[ruby on rails] 跟我学之路由映射的相关文章

[ruby on rails] 跟我学之创建数据

通过form来创建数据,本章节将会涉及内容:创建form,用户重导向,渲染views 和 flash消息. 1. views初步 编辑 app/views/posts/index.html.erb这个view文件,如下: <% @posts.each do |post| %> <h2><%=link_to post.title,post%></h2> <%=post.context%><br/><hr/> <% en

[ruby on rails] 跟我学之显示所有数据

之前的index页,显示的是hello world,现在将其修改为显示我们在rails console里面录入的数据. 1. 修改action 如之前的章节<[ruby on rails] 跟我学之路由映射>里面介绍的,修改app/controllers/posts_controller.rb 的index方法,如下: def index @posts = Post.all end 2. 修改view 并修改app/views/posts/index.html.erb 这个view文件,如下:

[ruby on rails] 跟我学之显示指定数据

根据<[ruby on rails] 跟我学之路由映射>,我们知道,可以访问 GET    /posts/:id(.:format) 来显示具体的对象. 1. 修改action 修改 app/controllers/posts_controller.rb的show这个action.这里有个难题,如果获取url里面的参数? 可以通过params内置变量进行访问!如下: def show @post = Post.find(params[:id]) end 2. 修改view 修改app/view

[ruby on rails] 跟我学之修改数据

修改views 修改index视图(app/views/posts/index.html.erb),添加编辑链接,如下: <h1>Our blogs</h1> <% @posts.each do |post| %> <h2><%=link_to post.title,post%></h2> <%=post.context%><br/><hr/> <p><%= link_to &qu

[ruby on rails] 跟我学之基于rails console的查增删改操作

本章节展开对model的介绍:包括查增删改操作.紧接着上面一节<[ruby on rails] 跟我学之HelloWorld> 创建模型 使用命令创建模型 创建表post,默认自带两栏位 title :string, content:text ,  在模型里面按照约定使用单数post而不是复数posts cd blog rails g model post title:string content:text 输出: invoke active_record create db/migrate/

[ruby on rails] 跟我学之HelloWorld

1. 创建工程 rails new blog 2.查看下文件结构 tree 输出如下,请留意红圈中的部分. Gemfile, 用来管理应用程序的gems, 有点类似于python的包,有专门的网站来查找gems: https://rubygems.org/ app,( application)这将会是你主要花精力的地方, app/assets ,这个下面放的是图片,脚本,样式等静态文件. app/controllers, app/models, app/views , 这三个就是所谓的MVC中的

[ruby on rails] 跟我学之(10)数据输入验证

这里简单加上几个验证,非空,最小长度,唯一 修改模型 修改app/models/post.rb文件,如下: class Post < ActiveRecord::Base #attr_accessible :title, :content validates :title, :context, :presence => true validates :title, :length => { :minimum =>2} validates :title, :uniqueness =&

如何从 0 开始学 ruby on rails (漫步版)

如何从 0 开始学 ruby on rails (漫步版) ruby 是一门编程语言,ruby on rails 是 ruby 的一个 web 框架,简称 rails. 有很多人对  rails 感兴趣,但又不知道从何下手.学习路线是什么,因为在多个场合下回答过类似问题,所以决定整理成文章供大家参观. 有很多人选择直接学习 rails,在学习使用 rails 的过程中学习 ruby.但我觉得这有些本末倒置,我更推崇先学 ruby 再学 rails,在对 ruby 有了一定的了解后再学 rails

如何从 0 开始学 Ruby on Rails

如何从 0 开始学 Ruby on Rails (漫步版)Ruby 是一门编程语言,Ruby on Rails 是 Ruby 的一个 web 框架,简称 Rails. 有很多人对 Rails 感兴趣,但又不知道从何下手.学习路线是什么,因为在多个场合下回答过类似问题,所以决定整理成文章供大家参观. 有很多人选择直接学习 Rails,在学习使用 Rails 的过程中学习 Ruby.但我觉得这有些本末倒置,我更推崇先学 Ruby 再学 Rails,在对 Ruby 有了一定的了解后再学 Rails 有