用rails提供的工具创建controller,同时生成view文件以及测试文件
root$ script/generate controller news list detail exists app/controllers/ exists app/helpers/ create app/views/news exists test/functional/ exists test/unit/helpers/ create app/controllers/news_controller.rb create test/functional/news_controller_test.rb create app/helpers/news_helper.rb create test/unit/helpers/news_helper_test.rb create app/views/news/list.html.erb create app/views/news/detail.html.erb
配置路由如下
vi config/routes.rb map.connect ':controller/:action' map.connect ':controller/:action/:id' map.connect ':controller/:action/:id.:format'
编辑controller如下
root$ cat app/controllers/news_controller.rb class NewsController < ApplicationController def list @newslist = [{"title"=>"new1","content"=>"text1"},{"title"=>"new2","content"=>"text2"}] end def detail id ||= params[:id] name ||=params[:name] @title = "new"+id + name @content = "text"+id + name end end
编辑view模板如下
root$ cat app/views/news/list.html.erb <h1>News#list</h1> <p>Find me in app/views/news/list.html.erb</p> <% @newslist.each do |news| %> <p><%= news["title"] %></p> <% end %> root$ cat app/views/news/detail.html.erb <h1><%= @title %></h1> <p><%= @content %></p>
可以通过如下链接发起请求
http://127.0.0.1:3000/news/list http://127.0.0.1:3000/news/detail/1?name=ciaos http://127.0.0.1:3000/news/detail?id=1&name=ciaos
可以通过下面的方法在view中实现controller的调用
#调用自身controller的其他action方法 <%= link_to "self_controller.otheraction", "otheraction" %> #调用别的controller的action方法 <%= link_to "another_controller.action", "/another_controller/action" %> #链接别的链接 <%= link_to "other sites", "http://www.baidu.com" %> <%= link_to "link1", :action => "action", :id=> 3 %> #http://127.0.0.1:3000/loc/act?id=3 <%= link_to "link2", :controller => "con", :action => "act", :page=> 3 %> #http://127.0.0.1:3000/con/act?page=3 <%= link_to "link3", :controller => "con", :action => "act", :id=> 3, :page=>4 %> #http://127.0.0.1:3000/con/act?id=3&page=4
在controller中配置自定义模板layout "standardLayout",模板会自动加载目录下所有css和js文件,如果需要加载指定文件可以按照如下方法
<%= stylesheet_link_tag "kangli/style", "kangli/custom" %> <%= javascript_include_tag "jquery", "jquery_ujs", "kangli" %>
此外controller的render以及redirect使用示例如下:
class TestController < ApplicationController def index @user = {:name=>params[:name]} render :text => @user =begin {:name=>:ciaos} =end #render :xml => @user.to_xml =begin <?xml version="1.0" encoding="UTF-8"?> <hash> <name type="symbol">ciaos</name> </hash> =end #render :json => @user.to_json =begin {"name":"ciaos"} =end #render :nothing => true /empty/ end def show #redirect_to :action => "index", :name => params[:name] #, :age => 26 , ... redirect_to :controller => "main", :action => "index" #, :para => "ciaos" #redirect_to :back /go to previous page/ end end
参照 http://ihower.tw/rails3/actioncontroller.html
Rails內建支持HTTP Basic Authenticate,简单实现验证
class PostsController < ApplicationController before_filter :authenticate protected def authenticate authenticate_or_request_with_http_basic do |username, password| username == "foo" && password == "bar" end end end
相关推荐
Rails的scaffold命令是一个强大的工具,可以快速生成一套完整的CRUD(Create, Read, Update, Delete)界面,包括Model、View和Controller。例如,创建一个名为Person的资源: ```bash rails g scaffold person name...
Rails :: Controller :: Testing 这个gem将assigns给控制器测试的内容以及assert_template带回assigns控制器和集成测试的内容。 这些方法已中。 安装 将此行添加到您的应用程序的... [ :controller , :view , :re
Ruby on Rails(通常简称为 Rails)是一个基于 Ruby 语言的开源 Web 应用程序框架,它遵循 Model-View-Controller (MVC) 设计模式,用于构建数据库驱动的 Web 应用程序。Rails 强调“约定优于配置”(Convention ...
- **MVC架构与RESTful概念**:介绍模型(Model)、视图(View)、控制器(Controller)三者之间的关系以及RESTful API的设计原则。 - **深入解析Controller & Model**:进一步探讨Controller和Model的工作原理,理解如何...
Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...
Ruby on Rails,简称Rails,是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本篇将通过一个入门实例,深入探讨Rails的基本概念和核心...
简介 Ruby On Rails 框架自它提出之日...Rails 是一个真正彻底的 MVC(Model-View-Controller) 框架,Rails 清楚地将你的模型的代码与你的控制器的应用逻辑从 View 代码中分离出来。Rails 开发人员很少或者可能从未遇到
Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,强调“约定优于配置”(Conventions over Configuration)和“Don't Repeat Yourself”(DRY,不要...
在本实例开发中,我们将探讨如何使用Rails进行实际的Web应用构建,同时涉及与之相关的技术,如SQLite数据库、HTML和CSS。 首先,Ruby是Rails的基础,它是一种动态类型的、面向对象的编程语言,以其简洁和表达性强的...
此外,Rails还内置了许多实用功能,如ActiveRecord(用于数据库交互)、Action View(用于页面渲染)和Action Controller(用于处理用户请求),这些都使得开发者能够快速构建出功能丰富的Web应用程序。 #### 2. ...
在Web开发领域,Ruby on Rails(简称Rails)是一种流行的开源框架,它基于MVC(Model-View-Controller)架构模式,用于快速构建高效、可维护的Web应用。本压缩包中的"web开发之rails最新调试通过购物车代码"是关于...
标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...
3. **MVC架构**:Rails采用Model-View-Controller架构,书中详细解释了模型(Model)、视图(View)和控制器(Controller)之间的交互与职责。 4. **路由**:Rails的路由系统允许灵活地定义URL到控制器动作的映射,...
Rails是基于Ruby语言的一个开源Web应用程序框架,遵循MVC(Model-View-Controller)架构模式,广泛应用于构建动态网站和Web应用程序。Rails 3.2是其历史上的一个重要版本,发布于2012年,引入了许多改进和新特性。 ...
在Ruby on Rails实践中,我们首先会接触到MVC(Model-View-Controller)架构模式。Model代表数据模型,负责业务逻辑和数据库交互;View负责展示数据,通常由HTML、CSS和JavaScript组成;Controller处理用户请求,并...
在Ruby on Rails中,开发者可以快速构建功能丰富的动态网站,因为它提供了大量的内置功能和库,如数据库连接、ORM(对象关系映射)系统ActiveRecord、模板引擎ActionView以及路由系统ActionController等。...
8. **app**:应用程序核心代码目录,包括模型(Model)、视图(View)和控制器(Controller),以及帮助器(Helper)、邮件器(Mailer)、通道(Channel)等。 9. **tmp**:临时文件目录,存储运行时生成的文件,如...
Rails是Ruby语言的一个著名Web开发框架,全称为Ruby on Rails,它遵循MVC(Model-View-Controller)架构模式,旨在提高开发效率和代码可读性。本示例"rails项目起步示例"是一个购物系统,非常适合初学者入门学习。 ...
Ruby on Rails(简称Rails)是基于Ruby语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,旨在提高开发效率和代码可读性。 1. **Ruby的安装** 在不同的操作系统上,安装Ruby的方式有所不同。在...