RoR
SeekChance
这个作者很懒,什么都没留下…
展开
-
rails在控制台、服务器、migrate分别指定启动环境
这3个情况下指定启动环境的格式不同,分别如下:rails server --enviroment production/test/developmentrails console production/test/developmentrake db:migrate RAILS_ENV=production/test/developmentrails c进入控制台之后通过Ra原创 2017-06-18 19:52:02 · 869 阅读 · 0 评论 -
active_job
active_job基础如果没有设置连接器,任务会立即执行。 新建一个类继承ActiveJob::Base并定义一个perform方法 class FileGeneratorJob <. ActiveJob::Base def perform(*arg) #do something end end之后可以使用FileGeneratorJob.perfo原创 2017-08-01 19:20:14 · 541 阅读 · 0 评论 -
rails最简单调试
rails调试:1.三种最简单直接的,直接页面输出调试信息xxx.html.haml:=debug object=object.inspect=simple_format object.to_yaml2.logger:debug :info :warn :error :fatal设定日志等级,当设定日志等级后之后,大于等于设定等级的日志才会被写入日志文件原创 2017-08-15 14:00:02 · 1763 阅读 · 0 评论 -
rails配置报错邮件告警最最简单例子
rails配置邮件告警:1. group :production dogem ‘exception_notification’end记得配置在公网production下,2.邮件发送的配置在production.rb下Rails.application.config.middleware.use ExceptionNotification::Rack,:emai原创 2017-08-15 14:58:00 · 578 阅读 · 0 评论 -
rails应用模板
在使用rails生成器生成新的rails应用的时候,可以使用-m选项使用指定的模板,比如rails new blog -m ‘ruby_api_demo.rb' 这样就是表示,在生成新的rails应用之后使用这个模板去执行其他操作在ruby_api_demo.rb 文件可以使用rails提供的许多模板方法,来生成我们想要的文件,或执行数据迁移操作 等等。1.比如Gemfile文件中原创 2017-09-19 15:50:57 · 658 阅读 · 0 评论 -
使用$@ $!
rails中捕获到异常之后可以使用$! $@来打印出异常的堆栈信息原创 2017-10-31 00:07:40 · 540 阅读 · 0 评论 -
禁止google浏览器强制跳转为https
rails在production环境下请求都会转为https,而开发环境下都是http,但是最近不知为何,我的项目中有一个页面在开发环境下进入也会是https,手动输入成http也没用:所以这个页面就进不去了:解决方法是:进入chrome://net-internals/#hsts,在delete处填入url,只要二级域名就够了,不需要写上http或者https,然后点击delete,原创 2017-10-14 13:48:22 · 34662 阅读 · 8 评论 -
通过elasticsearch-api实现更复杂的查询
其中body为一个hash,可以使用 json builder来构建或者诸如其他用于构建hash的方法构建hash可以实现比简单搜索更加强大的搜索能力,而且构建hash的格式可以完全参照elasticsearch 的http api格式进行对应修改即可比如在官方文档中,查询姓名为smith且年龄大于30的雇员的api是这样的GET /megacorp/employee/_search{原创 2018-02-26 14:49:03 · 509 阅读 · 0 评论 -
elasticsearch简易流程,先上手开始使用
elastic_search使用小结: 为了方便创建单一module,其他需要elastic_search的模型来引用此module即可elasticsearch使用指南: 1.elasticsearch安装并启动,默认端口9200 2.Gemfile添加 gem ‘elasticsearch-model’ gem ‘elasticsearch-rails’ 这个2个gem, 在mod...原创 2018-02-26 09:58:24 · 641 阅读 · 0 评论 -
rails i18n插值的注意事项及使用关键要点
变量插值(variable interpolation),翻译中允许插入变量进行翻译,比如$20 20元这样的不同的计数金额的方式,这时在翻译文件就可以定义price: “%{price}元”这样的形式,在翻译的时候,这样调用 t(:price, price: 20)则会20这个变量一起带入到翻译中来使用default_url_options加routes#scope的方式在u原创 2018-04-10 00:39:56 · 841 阅读 · 0 评论 -
rails migrate rollback 回滚指定迁移文件
rake db:rollback STEP=1Is a way to do this, if the migration you want to rollback is the last one applied. You can substitute 1 for however many migrations you want to go back.For example:r原创 2018-05-09 00:13:43 · 3035 阅读 · 0 评论 -
金额使用bigdecimal
I remember my CompSci professor saying never to use floats for currency.The reason for that is how the IEEE specification defines floats in binary format. Basically, it stores sign, fraction and原创 2018-05-08 11:00:49 · 747 阅读 · 0 评论 -
Ruby 2.4.1在mac os引起奇怪的崩溃
mac os 版本 mojave 10.14,某次在电脑使用 HTTP::NET模块发送网络请求,一旦发送就会报错,并引起服务崩溃+[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called.我的rails 启动使用的是 puma,这里...转载 2018-10-24 19:53:15 · 431 阅读 · 0 评论 -
I18n最简单部署使用
1.#建立翻译文件比如config/initializers/locale.rb2.#配置在rails启动文件中 # tell the I18n library where to find your translationsI18n.load_path += Dir[Rails.root.join('lib', 'locale', '*.{rb,yml}')] #原创 2017-08-01 17:09:50 · 1533 阅读 · 0 评论 -
将已有项目下的html转为haml
安装haml html2hamlgem install haml gem install html2haml转换find ./app/views -name \*.erb -print | sed 'p;s/.erb$/.haml/' | xargs -n2 html2haml删除原先的erb文件rm app/views/**/*.erb原创 2017-07-30 20:40:01 · 1002 阅读 · 0 评论 -
pluralize方法
pluralize在ActionVIew::Helpers::TextHelper模块中定义该方法接收一个整数与一个字符串,返回转换之后的拼接字符串 pluralize(1,"apple") => "1 apple"pluralize(3,"apple") => "3 apples"在控制台使用需要先include ActionView::Helpers::Text原创 2017-06-18 22:17:25 · 1065 阅读 · 0 评论 -
rails问题汇总
问题归总:ActiveRecord关联两种模型关联的方式has_many throughhas_many as多态polimorphic模型的对象调用includes方法SaleAgreement.all.includes(:customers, :suppliers).order('agreements.updated_at DESC')模型的joins 和i原创 2017-06-28 21:14:44 · 417 阅读 · 0 评论 -
rails:simple_for 对于关联模型的特殊技巧
rails :simple_form for 对于相关联的 模型对象,在表单中可以直接将与之关联的模型作为字段比如:class User belongs_to :company has_and_belongs_to_many :roles end class Company has_many :users e原创 2017-06-20 10:09:40 · 373 阅读 · 0 评论 -
使用bundle exec强制限定使用本项目Gemfile指定的rake执行命令
bundle exec rake ...有个时候会因为计算机上安装的rake版本与Gemfile指定的不一样导致报错原创 2017-06-08 23:03:03 · 2665 阅读 · 0 评论 -
rails路由url、具名路由规则
get /users index users_path 显示users列表页get /users/1 show user_path 显示某个userget /users/new new new_user_path 创建user的页面post /users create users_path 创建userget /users/1/edit转载 2017-06-20 22:37:32 · 966 阅读 · 0 评论 -
rails中使用flash变量启用消息提醒
rails中有一个特殊的变量flash,可以用于暂存一个hash值,值的有效期直到下一个action,一般与redirect_to一同使用比如用户注册成功后跳转到用户信息页的时候要提示注册成功(user/new -> user/:id/show)可以这样做: def create @user = User.new(user_params) if @user.sav原创 2017-06-18 23:10:13 · 825 阅读 · 0 评论 -
rails视图层
默认情况下,控制器中的方法会自动渲染和动作/方法名相同的视图rails会自动去控制器对应的视图文件夹中寻找action_name.html.erb模板def index xxxxend什么也不写就是渲染action_name.html.erb视图模板render 'edit',会去当前控制器对应目录下寻找edit.html.erb进行渲染也可以使用 render原创 2017-07-02 23:48:22 · 454 阅读 · 0 评论 -
rails grape最简单实例
1.添加app/apis/hello_api.rb#由于rails框架会自动require 'grape'这个gem所以可以省略# require 'grape'#API三个字母大写class HelloAPI format :json get 'hello' do {message: "Hello #{params[:name]} via get"原创 2017-06-13 01:09:35 · 2162 阅读 · 0 评论 -
Ruby语言基础
ruby中除了false以外,其余所有对象中只有nil能代表为空,几遍是数字0也表示trueif nil'nil is true'else'nil is false'endif 0'0 is true'else '0 is false'end数组:有多种方法调用a = %w{a sa 1 d v}a.shuffle #打乱顺序a.原创 2017-06-14 07:44:26 · 536 阅读 · 0 评论 -
has_many through(多对多) 与polymorphic(多态)混合使用
首先是has_many through和polymorphice的用法has_many model_names,through: model_namesbelongs_to model_nameable,polymorphic:true以人user养宠物pet为例一个人可以养多个宠物,但是宠物又分种类 猫 狗等等那么可以建立如下4个模型class User has_ma原创 2017-07-14 00:03:51 · 630 阅读 · 0 评论 -
ActionMailer发送邮件最简单实例,163邮箱
1.在rails环境配置相关文件中添加配置,可以是enviroment/development production test也可以是config/application.rb,应该是只要是在rails启动配置中配置都可以的我的是在 enviroment/development.rb ActionMailer::Base.delivery_method = :smtp confi...原创 2017-07-16 16:08:33 · 1946 阅读 · 0 评论 -
ActiveRecord多态关联
项目中经常会有这样的情况,一个模型是多个模型的子模型比如Picture可以是User也Article的子模型Picture belongs_to UserPicture belongs_to Article这个时候可以建立多态管理class Picture belongs_to :imageable,polymorphic: trueendclass Use原创 2017-07-08 00:12:56 · 339 阅读 · 0 评论 -
windows下安装ubuntu双系统然后安装Ror
1.windows下安装ubuntu:http://www.linuxidc.com/Linux/2014-04/100369.htm2.ubuntu下安装ror:2.1 安装rvm并用rvm 安装ruby,参考https://rvm.io/rvm/install2.1.1 gpg --keyserver hkp://keys.gnupg.net --recv-k转载 2017-07-30 01:33:58 · 507 阅读 · 0 评论 -
migrate快速学习
migrate用于进行数据库操作,rails中使用migrate的时候会在数据中建立一个schema_migrations表,用以记录migrate运行的记录,每当运行migrate的时候,会首先去检查这张表,看当前migrate文件的时间戳是否在这张表,如果存在就不会执行这个migrate,所以如果不小心修改migrate文件的时间戳部分的内容,会导致该migrate文件再次执行一遍,从而报原创 2017-07-17 20:48:09 · 1454 阅读 · 0 评论 -
rails http基本认证和摘要认证,给网页添加简单的验证
HTTP基本认证和摘要认证基本认证,控制器中添加http_basic_authenticate_with name: "lhr", password: "123456"摘要认证,相比起基本认证,只是不会在网络中发送明文的密码USERS = { "lhr" => "123456" } before_action :authenticate priv原创 2017-07-17 21:57:19 · 595 阅读 · 0 评论 -
mysql分组之后选取分组字段以外的字段以及选择组中特定的一行,附sql语句以及ActiveRecord查询语句
源自oa需求,系统中有两张表: 申请表 applies和 审批表audits,applies和audits是一对多的关系,也就是说一张申请单下面会对应多张审批单,但是有个时候会出现这种情况,同一个人在同一个申请单下会有多条审批单记录,即:这条申请单下有多级审批节点都是同一个人,如此一来,在该审批人的审批事务列表中就会出现多条对应于同一个申请单的审批单了,从数据表结构来分析的话,这其实是正常应该出现...原创 2019-03-27 23:07:19 · 2412 阅读 · 0 评论