Tag: 开发环境

是否有正确的时间,您可能需要重新启动Webrick以查看更改?

我听说Kevin Skoglund(lynda.com)说,养成在开发过程中频繁重启Webrick的习惯是一种好习惯。 虽然通常您不需要重新启动Webrick来查看您的更改,但他暗示有时可能需要这样做? 有谁知道这些情况可能是什么? 这让奇怪的是Webrick是否有点片状。

Rails的开发和生产环境之间有什么重要的区别?

由于Rail的生产和开发环境之间存在差异,我今天遇到了一个可怕的问题。 考虑一下代码: “select * from subscription_plans where affiliate_id is null or affiliate_id = #{@subscription_plan.affiliate.id rescue 0};” 永远不会有任何id为0的关联公司,所以如果@ subscription_plan.affiliate是nill,我希望查询只返回没有关联公司的订阅计划。 在开发环境中工作得很好,因为nil.id会抛出一个错误(前提是它确实给出了一些关于它的消息应该错误地为4)。 问题是,我将该代码实时推送到我的生产服务器,并且affiliate_id为4的订阅计划开始全部显示。 在生产中,nil.id不会抛出错误,而是简单地返回4. Geez,谢谢rails。 所有这些问题,作为Rails开发人员,我应该注意哪些其他事项? 特别是,环境之间是否存在可能导致问题的其他差异?

为什么我的Rails初始化器在控制台中缓存ENV变量(Foreman,Dev env)

最初的轻微烦恼现在变得令人头痛。 我正在构建一个Rails 4应用程序,并使用Foreman进行我的开发设置,使用Procfile和.env文件进行配置。 当我在.env文件中设置一个ENV变量时,我的应用程序正确选择了它。 在这种情况下,我在初始化器中为Paperclip设置了一些ENV选项。 当我去改变ENV变量的值时,问题浮出水面。 在控制台中,如果我键入ENV [“MY_VAR”],它将显示新值。 但是,我的初始化程序中使用的值(可能是在我启动控制台时运行)显示了旧值! 我的项目中没有任何地方列出旧值。 这让我相信环境以某种方式被缓存或者env变量被导出到我的shell。 我的地方用完了所以任何帮助都会非常感激! 我正在使用Ruby 1.9.3-p374和Rails 4.1.0在Mac(10.9.4)上进行开发。 例: ROOT / .ENV S3_BUCKET=mybucket 配置/初始化/ paperclip.rb Paperclip::Attachment.default_options[:s3_credentials] = {bucket: ENV[“S3_BUCKET”]} 如果我将S3_BUCKET的值更改为“newbucket”并运行“foreman run rails c”或“rails c”进入控制台,则会发生以下情况: ENV[“S3_BUCKET”] # => “newbucket” Paperclip::Attachment.default_options[:s3_credentials] # => {bucket: ‘mybucket’} 我应该提一下,这种行为也发生在我放入/ lib的类中。 我想这都是因为我忽略了一些愚蠢的事情。 有任何想法吗?

使用Ubuntu VVM开发Rails非常慢

我有以下配置 在VirtualBox VM上运行的Ubuntu服务器10.04(RAM和CPU使用率低)ruby 1.9.3 rails 3.2.12 webrick 如果我执行以下任何操作,系统似乎等待大约15秒才执行命令 – rake taks – rails s – 导航到应用程序中的新页面 我看过的东西 – 这是在链轮部分之前,并且用rake做同样的事情,所以目前我没有看到诸如dev-tweaks之类的东西 – 我已经改变了webrick config.rb以获得该行:DoNotReverseLookup => true – 我在VM上拥有主机的主机条目。 两台机器之间的ping速度非常快 – 我尝试过Thin并遇到了同样的问题。 我没有尝试过杂物,但我想我会看到同样的事情 但它仍然是极其缓慢的。 有什么想法吗? 迈克尔

Rails开发的TextMate技巧

处理Rails代码有点让我开始痴迷地定制我的开发环境(我说在最后一次Rails聚会时的痴迷我去了那里有一个人在为每行代码削减毫秒数而烦恼一天半小时…我希望我不会成为那个人…) 我把大部分时间花在TextMate上,所以它似乎是一个开始优化的好地方……到目前为止,我已经添加了一些TextMate包,如Git Bundle , Project Plus和Railscasts的主题。 我注意到其他一些TextMate用户,我接触到了大量漂亮的键盘快捷键和其他插件,以帮助他们的开发环境更友好。 环顾网络,我对可用的快捷方式和插件数量感到有些不知所措……所以我希望能听到其他Rails开发人员的意见: 有什么好的键盘快捷键和插件,我应该注意TextMate,具体参考Rails开发? 我已经在SO上阅读了这个问题: 什么是一些有用的TextMate快捷方式? 但我想知道是否有一些更具体的Rails开发。

Rails – 当我推向生产时,我会丢失我的开发数据库吗?

我知道这可能是一个愚蠢的问题,但…… 简而言之,我有一个应用程序,其中包含数百个处于开发模式的记录的数据库。 当我推向生产并部署到互联网上时,我是否会丢失数据库并且必须在生产模式下重做所有内容? 只是安全!

在Windows XP上构建Ruby

有没有人有从Windows XP源代码构建/编译Ruby的一套很好的指令?

ruby开发环境

在a)windows b)linux或c)mac中开发ruby是否更好? 为什么? 编辑: 我之所以这样问是因为我听说在windows中使用ruby在轨道上使用ruby时,在windows中开发ruby并不是那么稳定/好。 (不确定,如果这是真的)。 此外,David Heinemeier Hansson(Ruby on Rails的创建者)似乎正在使用Mac,因此最初的印象似乎是Ruby on Rails应用程序,而Mac则很好地融合在一起。

在开发环境中为外部调用创建虚假行为

我正在做一个需要搜索外部API的代码,但在开发期间我无法访问此API,因此我当前运行服务器并在系统中导航的解决方案是: def api_call return { fake: ‘This is a fake return’ } if Rails.env.development? # api interaction code # … end 这让我的代码变得污垢,所以我的问题是:有一种模式(或更好的方法)来做到这一点?

如何从environment.rb或初始化程序中强制执行RAILS_ENV = development?

我们的主机不允许我们修改乘客配置文件(即apache配置或vhosts文件),但我们想在开发模式下运行rails。 因此,我们必须在其中一个文件中指定环境(prod / dev / test),以便重新启动应用程序。 有人知道怎么做吗? 我们尝试了以下但没有运气: #environment.rb (before any other code is executed) `RAILS_ENV=development` # using back ticks ENV[‘RAILS_ENV’] = ‘development’ # assigning to a constant RAILS_ENV=’development’ # as suggested by one of the answers, unfortunately does not work.