Rails框架学习
Convention Over Configuration.
REST.
-
Rails
框架总览。 -
Rails
框架基本使用。 -
Rails
框架数据交互。 -
Rails
框架前端开发。
1.yum安装:
yum install rubygems ruby-devel
查看版本:ruby -v
2.更换gem源:
查看gem源:gem sources -l
http://rubygems.org/
删除gem源:gem sources --remove
更换gem源:
gem sources -a http://mirrors.aliyun.com/rubygems/
gem sources -a http://ruby.taobao.org/
3.RVM安装:
从官方文档安装。
4.ruby升级:
查看可升级版本:rvm list known
?
可能会遇到的问题:
node not found
webpacker requires Node.js">=10.17.0"and you are using v4.2.6
please upgrade NOde.js http:nodejs.org/en/download/
解决方法:
更新Node.js
sudo n latest
或者使用bundle进行更新
Rails应用安装
rails new blog --skip-bundle
bundle:集中管理Gem包,换成 http://ruby.taobao.org
bundle install
rails server
给Rails
添加控制器和action
。
generate
destory
路由设置:routes.rb
Rails
路由文件:请求查询表 rake routes
Rails
路由的基本功能:
-
接收并识别
HTTP
请求。 -
处理
URL
附加参数。 -
识别
link_to
和redirect_to
。
Rails
路由的种类:
-
一般路由。
-
命名路由。
-
资源路由。
resources :posts
一般使用
添加资源路由扩展:
-
集合路由:
posts/recent
collection
-
成员路由:
posts/:id/recent
menber
REST
:资源表现状态转化。
标准化URL。
扩展性强,RESTful
应用程序。
跨平台。
7种常见资源访问方式:index
,create
,show
,new
...
Rails
脚手架:
rails generate scaffold
数据迁移:
bundle exec rake db:migrate
Rails
数据交互:
控制台:rails console
ActiveRecord
类:
基本使用方式。
模型的添加和管理:
-
用户模型。
-
数据的创建和存储。
-
数据的访问。
数据验证(validates
):
-
存在性验证:
presence :true
-
长度验证:
length :{maxinum:20}
-
格式验证:
format :{with 常量(正则表达式)}
-
唯一性验证:
uniqueness :{case_sensitive :false}
登录表单session
数据关联:
rails generate migration add_user_id_to_posts user_id:id
数据表关联:
belongs_to
has_many
Rails
前端模板,动态生成HTML
页面。
erb
后缀:
Embedded Ruby
<%= %>:用于页面显示。 控制器和视图的变量传递。
<% %>:用于逻辑判断。
局部视图,组织方式。
rails heapers
方法:辅助函数。
在rails
中使用coffescript
:
在rails
中使用js
。
rails
前端脚本开发:
-
rails
的js
文件夹。 -
coffescript
$->。 -
使用
js
库,加入到lib
文件夹中,然后require xxx
引用。
rails
中使用scss
:
scss
是css
扩展出的一种,可以嵌套,方便使用。
Assets Pipeline
:
前端优化的重要性。
为什么使用Assets Pipeline
:
-
文件打包压缩。
-
使用
sass
和coffeescript
。
Assets pipeline
的运行方式:
结构:
app/assets
lib/assets
vender/assets
application.js
require_tree.
require_dictionary
......
javascript_include_tag
rails
环境配置:
三种运行环境:
-
Development
-
Test
-
Production
修改运行环境:
-
Rails_ENV
-
自定义运行环境
开发模式:
cache_classes
consider_all_requests_local
生产模式:
cache_classes
consider_all_requests_local
bundle
与gemfile
:
bundle
:
-
gem
包管理。 -
依存关系。
-
版本一致性。
gemfile
-
明确每一个
gem
的版本。 -
版本号的含义。
bundle
命令:
-
bundle install
——>Gemfile.lock
-
bundle update gem_name
-
bundle update
-
bundle outdated
rails
测试:
为什么要编写测试:
-
保证功能的可用性。
-
重构代码的安全性。
-
测试代码较为简短。
-
功能不清楚。
-
安全性功能。
-
发现问题在先。
-
经常变动的代码。
-
-