Ruby on Rails 开发学习笔记 一
来源:互联网 发布:易迈互联和阿里云 编辑:程序博客网 时间:2024/05/01 22:34
以下所有尝试处于Ruby 1.9 Rails 3.2
1) Rails机制
Server最先使用config/environment.rb
2)Rails路由
除了基础那些show edit new 的功能之外的action和页面,都使用config/routes.rb中的定义映射。
当请求发到Server,Rails会先去public文件夹中加载直接的页面和文件。当找不到时,就会找routes.rb了。根据路由配置,将请求转化为对Controller中的Action并调用之。
看到过集中配置:
get "demo/home" 意思是将对demo/home的请求发至demo controller下的home action。但我尝试这个不成功。
match "/home", :to => "demo#home"
这个成功。意识是当url为/home时,将调用demo controller下的home action。而此时,这个url也就变成了home_path 在系统中使用
3)link_to
实际应用中常常看到这样的代码:
.html.erb上
<%= link_to('AA', {:controller => "AA", :action => 'index', :type => 'typeA'}) %>
这将有个链接<a> 内容是AA 链接指向 /AA/index?type=typeA4) link_to流程
<%= link_to "RR", home_path %>
链接指向/home页。如果public里没有,则去routes.rb找。如2)中找到match "/home"项,则去demo controller home action。进行操作后若无render等指向型语言,则直接到home.html.erb的view进行展示。action中若有render,例如
render :action => 'EE'
则会到本controller的view文件夹中EE.html.erb进行展现。
render的是不会执行controller方法的,直接进行view页面渲染,且URL仍是原来的,不会改变成EE。若使用redirect_to则会改变url
5)MVC名称问题
Controller file:static_pages_controller.rb (page为复数)
Controller class: StaticPagesContrller
Model file: static_page.rb (page为单数)
Model class: StaticPage
URL: /static_pages/home
View file: static_pages目录下home.html.erb or home.rhtml 目前没发现这两个后缀有啥区别
- Ruby on Rails 开发学习笔记 一
- Ruby On Rails 开发学习笔记(一)
- Ruby on Rails学习笔记 (一)
- ruby on rails学习笔记(一)
- Ruby on Rails 开发学习笔记 二
- Ruby on Rails 学习一
- Ruby on rails学习笔记
- Ruby on Rails 学习笔记(一 Ubuntu下配置Ruby on Rails)
- [Ruby On Rails] Rails 路由学习笔记
- Ruby on rails 开发学习笔记(二)
- Ruby on Rails笔记(一) Getting Started
- Ruby on rails 开发笔记(三)
- ruby on rails学习(一)
- ruby on rails学习笔记1
- Ruby on Rails学习笔记1
- Ruby on Rails学习笔记(二 )
- Ruby on rails学习
- Ruby on Rails学习笔记(三 创建Rails项目)
- hdu 4630 多校第二场 树状数组,离线处理
- 程序设计暑期培训顺利结束
- Android操作SD卡文件
- UITableView 详解 教程
- 使用windows 命令查看端口
- Ruby on Rails 开发学习笔记 一
- 光脚PM的工作感悟 -- 什么是PM
- Python socket 模块——part one
- c++ 杂记
- JavaScript中docment对象详解
- POJ-2253-Frogger
- inet_addr和inet_aton
- PHP和MySQL数据库经常出现的安全问题及其预防
- tomcat不管是绿色版的还是安装版的都能正常启动,但是http://localhost:8080/网页就是打不开,系统重装了以后还是没用