Ruby on Rails
Ruby on Rails 日常学习收集
HPUZ
人生闪光,绝非偶然
VX:KYG-1988
展开
-
Ubuntu 安装ruby on rails 环境
Ubuntu 安装ruby on rails 环境 操作系统:ubuntu 16.04 开发相关版本信息 rvm 1.27.0ruby 2.1.6rails 4.0.1sublime text 3一、更新随机自带的软件包,尽量避免下面安装可能产生的错误$ sudo apt-get update #更新系统软件包二、安装curl,通过它安装rvm$ sudo dpk原创 2016-07-02 18:42:45 · 2801 阅读 · 2 评论 -
ruby on rails 中的Rake
root :to=>”home#index”routes :to=>”billing_accounts#billing_accounts_controller”rails generate scaffold Post name:string title:string content:stringrake db:migrate 迁移<%= link_to "this demo ",demos_原创 2016-07-11 14:10:21 · 450 阅读 · 0 评论 -
ruby on rails -使用scaffold的CRUD
ruby on rails — scaffoldscaffold 脚手架是rails非常省事的方法,实现一些简单的增删改查.CRUD 增删改查 1. 创建rails项目 $ rails new blog $ cd blog 2. scaffold脚手架创建产品(控制 模型 显示 数据) $ rails generate scaffold resume name:原创 2016-07-13 11:07:43 · 1708 阅读 · 0 评论 -
rails常用的验证
class BillingAccountType < Base acts_as_type :payment_types, [:银行卡, :支付宝] validates_presence_of :shop_id, :payment_types validates_presence_of :alipay_number,:alipay_holder ,if: :require_alipay?转载 2016-07-21 11:21:41 · 1076 阅读 · 0 评论 -
ruby on rails (MVC)
ruby on rails MVC的请求与响应原创 2016-07-24 13:42:01 · 664 阅读 · 0 评论 -
rails中sql的增删改(数据迁移)
添加 def change add_column :products, :part_number, :string add_column :products, :price, :decimal end删除def change remove_column :products, :part_number, :string end原创 2016-07-28 11:46:39 · 1635 阅读 · 0 评论 -
rails开发规范
name_cont (相似)转载 2016-08-09 12:09:45 · 378 阅读 · 0 评论 -
Rails 常用的 Gem
Rails 常用的 Gem http://ruby-china.org/topics/25872转载 2016-08-11 09:58:27 · 432 阅读 · 0 评论 -
ruby on rails 入门
看完 agile web development 写一个实用的网站(比如博客) 《Rails高级编程》 重构你的网站;参与 ruby-china 的开发 http://github.com/ruby-china/ruby-china 《Metaprogramming Ruby》 考虑新点子,做个实用工具类网站;在 ruby-china 中参与更多的开发 在自己网站中使用更多时髦的技术;扩转载 2016-08-11 10:22:27 · 371 阅读 · 0 评论 -
HTTP status code in Rails
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。 HTTP状态码的英文为HTTP Status Code。 下面是常见的HTTP状态码: 200 - 请求成功 301 - 资源(网页等)被永久转移到其它URL 404 - 请求的资源(网页等)原创 2016-08-31 14:34:48 · 503 阅读 · 0 评论 -
Rails content_tag vs tag
basically tag makes an empty tag and content_tag is used for building, well tags with some content.say you use tag to build IMG tags and use content_tag for building DIVs原创 2016-08-31 14:58:27 · 406 阅读 · 0 评论 -
rails 路由
rails 路由root ‘posts#index’ //默认indexresources :posts , :except => :show //排除show路由原创 2016-09-20 23:23:55 · 364 阅读 · 0 评论 -
Ubuntu Server 14.04 下 部署Rails 环境
Ubuntu Server 14.04 下 部署Rails 环境 1.安装RVM (RVM的主要作用是方便的管理系统中的多个ruby版本),使用RVM安装ruby、rails等$ curl -L get.rvm.io | bash -s stable//若提示找不到公钥,执行下边语句$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409原创 2016-11-09 11:25:28 · 570 阅读 · 0 评论 -
has_many 和belongs_to
不同的声明方式带来的区别是外键放在哪个模型对应的数据表中(外键在声明 belongs_to 关联所在模型对应的数据表中)。class Supplier < ActiveRecord::Base has_one :accountendclass Account < ActiveRecord::Base belongs_to :supplierend==============class原创 2016-11-23 17:10:11 · 1575 阅读 · 0 评论 -
rails new
rails new my_app –skip-bundle cd my_app bundle install –local原创 2016-11-28 15:23:45 · 318 阅读 · 0 评论 -
sqlite 更换 mysql
rails new new_project -d mysql原创 2016-12-12 17:23:23 · 439 阅读 · 0 评论 -
rails g -h (查看可以执行的rake 任务)
rails g -h (查看可以执行的rake)Rails: assets channel controller generator helper integration_test jbuilder job mailer migration model resource scaffold scaffold_controller taskCo原创 2017-01-06 11:56:13 · 542 阅读 · 0 评论 -
数据库移植中怎样让自定义的移植操作支持回滚
class OneUglyDataChange < ActiveRecord::Migration def change User.find_each do |user| user.is_genius = true end endend执行 rails db:rollback 无法回滚实际上 up 和 down 是Rails早期就采用的默认方案, 支持回滚cla原创 2017-05-29 16:27:05 · 415 阅读 · 0 评论 -
after_save和after_create区别
after_save和after_create是模型中常用的回掉方法!after_save是在数据insert和update时都会触发,after_create只有在insert时触发。原创 2017-05-31 17:10:35 · 1729 阅读 · 0 评论 -
REST架构
REST 是一种架构风格,用于开发分布式、基于网 络的系统和软件应用,例如万维网和 Web 应用。REST 理论很抽象,在 Rails 应用中,REST 意味着大多 数组件(例如用户和微博)都被模型化,变成资源(resource),可以创建(create)、读取(read)、 更新(update)和删除(delete)。这些操作与关系型数据库中的 CRUD 操作和 HTTP 请求方法(POST、 G翻译 2017-05-31 18:16:11 · 298 阅读 · 0 评论 -
application.html.erb
csrf_meta_tags<meta content="authenticity_token" name="csrf-param"><meta content="6dzSP5yGThFu4v6hiXdROKQtIfle+5Seeb60hQgmZGU=" name="csrf-token">stylesheet_link_tag ⇒ 加载CSS ( *= require_tree .)java原创 2017-06-01 10:17:50 · 871 阅读 · 0 评论 -
视图helper辅助方法
Rails 除了提供很多内置的方法供我们在视图中使用之外,还允许我们自己定义方法,这种方法叫辅助方法。如果辅助方法是针对某个特定控制器的,应该把它放进该控制器对应的辅助文件中。例如,为 StaticPages 控制器创建的 辅助方法一般放在 app/helper/static_pages_helper.rb 中。如果我们想在所有页面中都使用 full_title 方 法,所以要放在一个特殊的辅助文件翻译 2017-06-01 10:25:25 · 329 阅读 · 0 评论 -
Rails 中的 Asset Pipeline
Rails 的 Asset Pipeline 使用三个标准的目录存放静态资源文件:app/assets:当前应用的静态资源文件;lib/assets:开发团队自己开发的代码库使用的静态资源文件;vendor/assets:第三方代码库使用的静态资源文件;CSS清单文件(app/assets/stylesheets/application.css) /* . . . *= re翻译 2017-06-02 08:48:43 · 507 阅读 · 0 评论 -
rails console 控制台
#默认rails c 进入开发模式 $ rails console Loading development environment >> Rails.env => "development" #rails console test 进入test环境模式 $ rails console test Loading test原创 2017-06-04 08:56:43 · 5359 阅读 · 0 评论 -
Rails中的 attributes 方法
Rails中的 attributes 方法, 数据库对象转换成 hash attributes ===> to_hashmerber = Member.firstMember Load (0.5ms) SELECT `members`.* FROM `members` ORDER BY `members`.`id` ASC LIMIT 1 => #<Member id: 1, name: 786原创 2017-06-04 09:28:38 · 1104 阅读 · 0 评论 -
Rails操作线上环境
通常Rails操作本地 Rails c 当执行远程脚本时,需要连接线上环境。ssh deploy@xx.xx.xx.xx #如果部署用户为deploy时,不建议用root用户连接登陆cd /home/deploy/app_name/current/bin/rails c production #执行rails c 进入 production 环境#写入迁移文件或执行脚本User.cre原创 2017-06-05 14:18:39 · 522 阅读 · 0 评论 -
Rails中的sample方法
Rails中的sample方法生成随机数a = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]a.sample #=> 7 a.sample(4) #=> [6, 4, 2, 5]chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_achars.sample #=> "z"原创 2017-06-06 08:18:58 · 706 阅读 · 0 评论 -
Rails 入门技能
Rails 初级开发人员应该具备的技能 比如: * 注册发邮件,短信 * 国际化相关 * 上传图片,定制图片 * 富文本框 * 简单的后台文章管理 * 抓取一些文章 * Mysql, PostgreSQL 数据库的使用 * 定时任务将文章写入到数据库中 * 买台VPS,独立部署,反向代理 * 买个域名,连上再上SSL原创 2017-06-13 10:10:17 · 294 阅读 · 0 评论 -
生产环境下重启puma
生产环境下重启pumacap production puma:restart原创 2017-06-15 09:45:28 · 1507 阅读 · 0 评论 -
Rails做api开发常用框架
Rails做api开发常用框架rails-apigrapesinatra原创 2017-06-16 09:03:17 · 1063 阅读 · 0 评论 -
GC 垃圾回收
# 垃圾回收#(在ruby 2.2 版本之后Symbol也是可以垃圾回收)GC.start原创 2017-06-20 09:13:52 · 297 阅读 · 0 评论 -
RAILS_ENV 写在命令前后有什么区别呢?
https://ruby-china.org/topics/17446#先设置:RAILS_ENV=staging rails c#后设置环境rails c RAILS_ENV=stagingRAILS_ENV needs to be set before config/application is required这里的 before 不是参数必须写在前面的意思.写在前面是 ENV , 写转载 2017-06-20 14:42:40 · 1526 阅读 · 0 评论 -
bin/rails server 与 rails server 区别
bin/rails server 与 rails server 区别bin / rails与rails之间的原因是不同版本的rails。如果您正在运行当前版本的rails,那么使用’rails’命令就可以了。但是 如果你有一个不同的版本(比如说Rails 3.2),并且安装了Rails 4,那么你需要使用’bin / rails’如果你刚刚运行’rails’,RubyGems将激活在PAT原创 2017-06-26 22:16:47 · 1563 阅读 · 0 评论 -
rake about
rake about(Rails 5 可以使用rails about)bin/rails about 输出以下信息:Ruby、RubyGems、Rails 的版本号,Rails 使用的组件,应用所在的文件夹,Rails 当前所处的环境名,应用使用的数据库适配器,以及数据库模式版本号。如果想向他人需求帮助,检查安全补丁对你是否有影响,或者需要查看现有 Rails 应用的状态,就可以使用这个任务。转载 2017-06-26 22:35:55 · 325 阅读 · 0 评论 -
Rails 中 scope
Rails 中自由地使用命名 scope# 可以链式调用class User < ActiveRecord::Base scope :old, -> { where('age > 60') } scope :heavy, -> { where('weight > 200') }end#链式调用可以执行 User.old.heavy# 不能链式调用class User < Active转载 2017-06-30 10:48:45 · 1829 阅读 · 0 评论 -
Rails中find_each方法
使用 find_each 来迭代一系列 ActiveRecord 对象。用循环来处理数据库中的记录集(如 all 方法)是非常低效率的,因为循环试图一次性得到所有对象。而批处理find_each方法允许一批批地处理记录,默认为1000条数据,因此需要占用的内存大幅减少。# 差的编码习惯Person.all.each do |person| person.do_awesome_stuffend转载 2017-06-30 10:55:59 · 1822 阅读 · 0 评论 -
ActiveRecord 查询使用字符串插值
不要在查询中使用字符串插值,它会使你的代码有被 SQL 注入攻击的风险# 差——插值的参数不会被转义Client.where("orders_count = #{params[:orders]}")# 好——参数会被适当转义Client.where('orders_count = ?', params[:orders])# 一般般Client.where( 'created_at >= ?转载 2017-06-30 11:07:10 · 301 阅读 · 0 评论 -
Rails中View开发规范
Rails中View开发规范不要直接从视图调用模型层。复杂的格式化不应放在视图中,而应提取为视图 helper 或模型中的方法。 应使用 partial 模版与布局来减少代码重复。转载 2017-06-30 11:14:02 · 379 阅读 · 0 评论 -
Rails 发送邮件配置
Rails 发送邮件配置# 发送邮件配置(config/environments/production.rb) config.action_mailer.delivery_method = :smtp config.action_mailer.default_url_options = { :host => '域名'} config.action_mailer.raise_delivery原创 2017-06-30 11:45:10 · 1469 阅读 · 0 评论 -
Active Job
rails generate job guests_cleanup class GuestsCleanupJob < ApplicationJob queue_as :default def perform(*guests) # 稍后做些事情 end end# 入队作业,作业在队列系统空闲时立即执行 GuestsCleanupJob.perform_l原创 2017-07-01 23:09:55 · 381 阅读 · 0 评论