Tag: 环境

在测试环境中启动轨道

我正在尝试使用ruby脚本在测试环境中加载rails。 我尝试了谷歌搜索,发现这个建议: require “../../config/environment” ENV[‘RAILS_ENV’] = ARGV.first || ENV[‘RAILS_ENV’] || ‘test’ 这似乎加载了我的环境,但我的开发数据库仍在使用中。 难道我做错了什么? 这是我的database.yml文件…但我不认为这是问题 development: adapter: mysql encoding: utf8 reconnect: false database: BrianSite_development pool: 5 username: root password: dev host: localhost # Warning: The database defined as “test” will be erased and # re-generated from your development database when you run “rake”. # Do not […]

rails4多站点在视图中显示主机 – 有时可行

现在整个下午一直在努力…… 我在heroku上有一个代码库多个应用程序设置。 我试图在我的主域上运行的主页(stati_controller)上显示主机:www.domain.hu(env:production,production.rb)但不在另一个主页上:www.domain.co。 uk(env:production-uk,production-uk.rb)Debug告诉我:nil我缺少什么? 基于此 ,我尝试了以下但没有运气(一个接一个地尝试……)。 在production-uk.rb中 : Rails.application.default_url_options[:host] = ‘www.domain.co.uk’ Rails.application.default_url_options[:host] = ‘domain.co.uk’ config.asset_host = ‘www.domain.co.uk’ – this “kills” the CSS config.default_url_options = { host: ‘www.domain.co.uk’ } config.default_url_options[:host] = ‘domain.co.uk’ config.action_controller.default_url_options = { host: ‘www.domain.co.uk’ } config.action_controller.default_url_options = { host: ‘domain.co.uk’ } Rails.application.default_url_options = { host: ‘domain.co.uk’ } config.action_controller.default_url_options = { host: ‘domain.co.uk’ } […]

Rails.env在Rails 2中未定义

我有一个运行Ruby on Rails 2.2的旧应用程序,我无法使用gem来工作,因为它无法使用Rails.env找到当前环境: $ script/console >> Rails.env NoMethodError: undefined method `env’ for Rails:Module from (irb):1 gem定义为在定义Rails时使用Rails.env ,而在不定义时使用RAILS_ENV 。 但我似乎有一个没有env方法的Rails对象(即使我读过Rails 2中添加了该方法)。 知道发生了什么事吗?

缓慢加载导轨环境

加载我的rails环境需要25秒吗? alhafoudh@xxx:~/Projects/xxx$ time ruby -r./config/environment.rb -e “” real 0m25.320s user 0m22.093s sys 0m1.988s alhafoudh@xxx:~/Projects/xxx$ ruby -v ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux] alhafoudh@xxx:~/Projects/xxx$ gem list | grep rails using rails 3.0.3 我也用rvm

将所有外发电子邮件重定向到单个地址以进行测试

在Ruby on Rails中,我处于这样一种情况:我希望我的应用程序(在特定的测试环境中)拦截应用程序生成的所有外发电子邮件,而是将它们发送到不同的测试地址(也可能修改正文)说“最初发送到:……”)。 我看到ActionMailer有一些钩子来观察或拦截邮件,但如果有更简单的方法,我不想自己动手解决。 建议?

Rails:让这个rake任务知道它在测试环境中

我在lib/tasks文件夹中定义了以下rake任务: namespace :db do namespace :test do task :prepare => :environment do Rake::Task[“db:seed”].invoke end end end 现在,当我运行rake db:test:prepare时,这样做是为了测试数据库的种子。 我这样做是因为我有一些必须存在的基本记录才能让应用程序运行,所以它们不是可选的,也不能真正被嘲笑。 另外,我有一个在开发和生产中使用S3进行资产存储的模型,但我不希望它使用S3进行测试。 我在模型中设置了一个方法,如果Rails.env.test?存储路径从S3更改为本地Rails.env.test? 但是,这不起作用。 我想知道rake任务是否知道它被调用的环境,而事实certificate它不是。 我把它放在我的seeds.rb文件的顶部: puts “Environment Check: Rails Environment = #{Rails.env}” 果然,当任务运行时,会打印出来: Environment Check: Rails Environment = development 那么,我怎样才能重做这个rake任务,以便当它播种测试数据库时它知道它正在为测试数据库播种?

如何包含所有lib文件夹?

我想用简单的方法扩展核心Array类: class Array def to_hash result = Hash.new self.each { |a| result[a] = ” } result end end 我将array.rb放入lib / core_ext并尝试在application.rb中要求它 config.autoload_paths += %W(#{config.root}/lib) config.autoload_paths += Dir[“#{config.root}/lib/**/”] 但仍然undefined method ‘to_hash’ for [“var1”, “var2”, “var3”]:Array获取undefined method ‘to_hash’ for [“var1”, “var2”, “var3”]:Array如果尝试在模型方法中使用它,则为undefined method ‘to_hash’ for [“var1”, “var2”, “var3”]:Array 。 当然,我在代码更改后重新启动了服务器。

尝试在测试中运行rails c时,将config.eager_load设置为nil

我正在尝试运行rails( 4.1.2 )控制台 rails c RAILS_ENV=test 我得到了这个: > config.eager_load is set to nil. Please update your > config/environments/*.rb files accordingly: > > * development – set it to false * test – set it to false (unless > you use a tool that preloads your test environment) * production – > set it to true […]

未初始化的常量ApplicationRecord错误

我正在关注RailsTutorial,并且已经创建了具有适当的attrs和validation的Users模型。 我遇到了这个错误,无法看到问题出在哪里。 使用Rails5配置项目,因此inheritanceApplicationRecord的模型应该是正确的: User.rb: class User < ApplicationRecord before_save { self.email = email.downcase } validates :name, presence: true, length: { maximum: 50 } VALID_EMAIL_REGEX = /\A([\w+\-].?)+@[az\d\-]+(\.[az]+)*\.[az]+\z/i validates :email, presence: true, length: { maximum: 255 }, format: { with: VALID_EMAIL_REGEX }, uniqueness: { case_sensitive: false } has_secure_password validates :password, length: { minimum: 6 } 结束 的Gemfile: […]

如何切换到旧版本的ruby / rails环境?

我正在尝试与Tekpub保持一致在rails screencast上构建自己的博客。 我仍然是一个非常ruby的新手,问题是我安装了Rails 3而Rob使用的是旧版本(我的头顶版本:版本2.3.2)。 我知道如何使用gem install rails –version=2.3.2获取该版本的rails gem install rails –version=2.3.2但是当我键入rails new时,应用程序的版本是rails 3.如何使这个特定的应用程序与旧版本一起使用? 我知道这与rvm有关但我不知道除了基本的rvm use操作之外该怎么做。