
Ruby
wlchn
这个作者很懒,什么都没留下…
展开
-
Ruby运算符重载
Ruby运算符的重载直接上代码class Point attr_accessor :x, :y def initialize(x=0, y=0) @x, @y = x, y end def inspect "(#{x}, #{y})" end def +(other) self.class.new(x + other.x, y + other.y) en原创 2015-10-16 15:55:08 · 1264 阅读 · 0 评论 -
Rails 5中belongs_to默认不允许nil
Rails 5中默认情况belongs_to为nil不可创建class User < ApplicationRecordendclass Post < ApplicationRecord belongs_to :userendpost = Post.create(title: 'Hi')=> <Post id: nil, title: "Hi", user_id: nil>post.err原创 2017-11-15 15:21:04 · 1201 阅读 · 0 评论 -
carrierwave实现图片上传
1.添加gemgem 'carrierwave', '0.6.2'gem 'mini_magick' #不使用rmagick,占内存2.bundle install3.为users表添加一个avatar字段,也可以为其他名称,注意相应的代码修改rails g migration add_avatar_to_users avatar:stringrake db:migrate原创 2015-12-15 17:34:44 · 971 阅读 · 0 评论 -
Rails 多态关联 :polymorphic => true
多态关联 也叫虚拟关联, 其实 表是不存在的。。。不像 :through => :connections 那connections的表是存在的,也可以不存在的,connections是一个关联模型有这样一个需求,需要用到 虚拟关联在SNS中,例如xiaonei,douban等等都有 最近好友更新的内容显示,那么这个 一般是在一个 表中,例如 叫activities 表,更新有很多种转载 2015-12-24 10:51:48 · 1094 阅读 · 0 评论 -
Ruby数组的各种使用
1. 如何创建数组?最简单的,x=[]将创建一个空数组:irb(main):004:0> x = []=> []另外还可以使用标准的new方法,任何数组都是Array类的实例。irb(main):001:0> x = Array.new=> []irb(main):002:0> x = Array.new(3)=> [ni原创 2015-10-16 15:59:25 · 15538 阅读 · 0 评论 -
Ruby中Hash常用方法
一。给Hash添加默认值 :哈希常用方法" title="ruby 哈希常用方法" style="margin:0px; padding:0px; border:0px none; list-style:none; vertical-align:top">h = {1,2,3,4} #=> {1 => 2, 3 => 4}哈希常用方法" title="ruby 哈希原创 2015-10-16 16:00:46 · 6028 阅读 · 1 评论 -
after_save方法中previous_changes为空
在Rails 4中after_save方法中previous_changes为空。解决方法:用@previously_changed代替。ActiveModel::Dirty 274行: def changes_applied # :doc: @previously_changed = changes @changed_attributes = Ac原创 2016-11-01 17:21:05 · 815 阅读 · 0 评论 -
rails导出CSV XLS 中文乱码解决办法
CSV.generate(options) do |csv| csv << column_names all.each do |product| csv << product.attributes.values_at(*column_names) end end.encode('gb2312', :invalid => :replace, :undef =>原创 2016-01-12 14:09:45 · 1188 阅读 · 1 评论 -
使用carrierwave时判断图片尺寸
在gemfile中,添加gem "mini_magick", "~> 3.6.0"在image_uploader.rb中,添加include CarrierWave::MiniMagick...attr_reader :width, :heightbefore :cache, :capture_size def capture_size(file) if version_name.blan原创 2015-12-15 17:44:35 · 989 阅读 · 0 评论 -
Rails 4中document.ready失效
Rails 4中turbolinksturbolinks介绍这篇文章翻译的不错 http://www.oschina.net/translate/introducing-turbolinks-for-rails-4-0turbolinks使document.ready失效由于turbolinks机制不会完全刷新页面,导致document.ready方法无法执行。解决办法:原创 2016-01-15 16:53:03 · 597 阅读 · 0 评论 -
Ruby文件的输入与输出
Ruby 提供了一整套 I/O 相关的方法,在内核(Kernel)模块中实现。所有的 I/O 方法派生自 IO 类。类 IO 提供了所有基础的方法,比如 read、 write、 gets、 puts、 readline、 getc 和 printf。本章节将讲解所有 Ruby 中可用的基础的 I/O 函数。如需了解更多的函数,请查看 Ruby 的 IO 类。puts原创 2015-10-16 15:15:05 · 822 阅读 · 0 评论 -
Ruby模块Module
模块(Module)是一种把方法、类和常量组合在一起的方式。模块(Module)为您提供了两大好处。模块提供了一个命名空间和避免名字冲突。模块实现了 mixin 装置。模块(Module)定义了一个命名空间,相当于一个沙盒,在里边您的方法和常量不会与其他地方的方法常量冲突。模块类似与类,但有一下不同:模块不能实例化模块没有子类模块只能被另一个模块原创 2015-10-16 15:16:31 · 424 阅读 · 0 评论 -
Ruby正则表达式
正则表达式是一种特殊序列的字符,它通过使用有专门语法的模式来匹配或查找字符串集合。正则表达式用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。语法正则表达式从字面上看是一种介于斜杠之间或介于跟在 %r 后的任意分隔符之间的模式,如下所示:/pattern//pattern/im # 可以指原创 2015-10-16 15:18:13 · 660 阅读 · 0 评论 -
Ruby Proc类
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2015-10-16 15:51:07 · 1932 阅读 · 2 评论