Posts
Rails从对象或者hash中获取、去除某些属性
1.在ActiveRecord中获取指定属性值,slice会获取指定属性后再转换成hash 通常的做法 class Permission < ApplicationRecord has_and_belongs_to_many :role_tpls def to_json { resource: self.resource, status: self.status, name: self.name, allow: self.allow } end end
Posts
Rails中try的用法
我们经常会遇到的下面的场景: @person && @persion.name # 需确保@person不是nil,否则会报错 NoMethodError: undefined method `name' for nil:NilClass 用 try 改写: @person.try(:name) # 如果@person为nil则返回ni
Posts
Ruby中神奇的&符号
这里的 magic 是 & 把 plus1 变成 Block 发给数组了,Block 也就是我们常见的 {} [1,2,3,4].map {|x| x + 1} =>[2, 3, 4, 5] 等价于: [1,2,3,4].map &Proc.new{|x| x + 1 } =>[2, 3, 4, 5] 注意如果没有 & ,解释器在调用 map 时
Posts
Ruby中||=符号理解
原文链接 我们经常看到这样的代码: def current_user @current_user ||= session[:user_id] && User.find(session[:user_id]) end 短短一行代码,却含有很多逻辑,以前老是搞混,这里总结一下。 这句代码相当于: def current_user if @current_user return @current_user else if session[:user_id]
Posts
Ruby中冒号代表的意思
Stack Overflow原文 问题: 1) abc: 2) :xyz 3) abc::xyz 4) abc: :xyz 5) abc: xyz 6) :abc => xyz 答案: 1) abc: #不能单独存在 2) :xyz # xyz是符号 :xyz.class => Symbol 3) abc::xyz #命名空间(模块) 例子: module ABC
Posts
Rails中建立AR模型的关联关系
参考链接 Rails AR模型中支持的六种关联: belongs_to (一对一,属于xx,在此模型添加xx外键) has_one (一对一,拥有xx,在xx模型添加自身外键) has_many (一对多,在
Posts
nginx+fancyindex模块实现浏览目录功能
nginx打开目录浏览功能可以用 autoindex,在nginx.conf文件中加入: location / { autoindex on; autoindex_localtime on; #之类的参数写这里 } 但上面方式实现浏览的
Posts
Rails集成axlsx实现导出excel功能
axlsx-rails的github地址 首先在Gemfile文件中添加依赖: gem 'rubyzip', '>= 1.2.1' gem 'axlsx', git: 'https://github.com/randym/axlsx.git', ref: 'c8ac844' gem 'axlsx_rails' 然后下载依赖,执行命令: bundle install 在contr
Posts
JavaScript中函数的作用域
函数作用域 定义 作用域(scope)指的是变量存在的范围。在 ES5 的规范中,JavaScript 只有两种作用域:一种是全局作用域,变量在整个程序中
Posts
JavaScript中的变量提升
JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,