草庐IT

environment_variables

全部标签

ruby - 构造函数中的 instance_variable_set

我做了一个这样的构造器:classFoodefinitialize(p1,p2,opts={})#...Initializep1andp2opts.eachdo|k,v|instance_variable_set("@#{k}",v)endendend我想知道像这样动态设置实例变量是否是一个好习惯,或者我是否应该像在大多数库中那样一个一个地手动设置它们,以及为什么。 最佳答案 诊断问题您在这里所做的是一个相当简单的元编程示例,即根据某些输入动态生成代码。元编程通常会减少您需要编写的代码量,但会使代码更难理解。在这种特殊情况下,它还引

ruby-on-rails - Ruby on Rails Controller 中的@@variables 是特定于用户 session 的,还是所有用户都会看到相同的值?

我有一个Controller,其中有一个“无View”操作。该Controller用于设置名为@@ComputedData={}的变量。但数据是根据应用程序用户上传的csv文件计算的。现在用户会看到他们的特定数据还是@@ComputeData对所有用户都一样?有人可以向我解释这个概念吗?我真的很犹豫。预先感谢您,对于菜鸟问题​​深表歉意。 最佳答案 在Rails中使用类变量要小心。类变量不在进程之间共享,因此您会得到不一致的结果。有关更多信息,请查看:O'ReillyRuby-Don'tUseClassVariables!Whysh

ruby - 部署.rb : undefined local variable or method `home` for main:Object

我知道有很多关于此错误消息的问题,但我找不到在与我相同的上下文中发生此错误的问题。我正在尝试将以前工作的Capistrano配置从版本2迁移到Capistrano3。不幸的是,调用capproductiondeploy--dry-run会产生错误capaborted!undefinedlocalvariableormethod`home'formain:Object/myapp/config/deploy.rb:6:in`'这是deploy.rb的内容,直到发生错误的第6行:set:user,"myuser"set:application,"myapp"set:domain,"mydo

ruby-on-rails - 另一种写法 : if some_variable && some_valiable. size == 2

在Ruby和RoR中,我经常发现自己测试对象是否存在,然后对象的属性是否符合某些条件。像这样:ifparams[:id]&¶ms[:id].size==40...dostuffend有没有更有效的方法来做到这一点?像这样的东西:ifparams[:id].size==40rescuefalse但没有使用救援? 最佳答案 在Rails2.3中,您可以使用Object#try方法:ifparams[:id].try(:size)==40#dostuffendtry在nil上调用(带任何参数)时将返回nil。希望这是有道理的。

ruby-on-rails - 运行 'rake assets:precompile' 产生错误 : '` @application. css' is not allowed as an instance variable name'

我正在开发一个Rails3.2应用程序,我正在尝试测试预编译我的Assets,以便在我将我的应用程序投入生产时使用。该应用程序在开发中运行良好,但当我运行时:bundleexecrakeassets:precompile我收到以下错误:rakeaborted!`@application.css'isnotallowedasaninstancevariablename我搜索了我的代码,没有对application.css的引用,当然除了那个名称的文件(以及偶尔的评论)。我也试过在生产模式下设置config.assets.compile=true,但也失败了(应用服务器启动正常,但在pro

ruby - 为什么 local_variables 会返回尚未分配的局部变量?

为什么local_variables返回尚未分配的局部变量(在调用local_variables之后分配)?a=2@aa=1#a=b#thiswillraiseanerror.puts"local:#{local_variables}"puts"instance:#{instance_variables}"b=2@bb=2puts"local:#{local_variables}"puts"instance:#{instance_variables}"结果:local:[:a,:b]instance:[:@aa]local:[:a,:b]instance:[:@aa,:@bb]我期望的

ruby - ruby 有 global_variable_set 吗?

如果要用Ruby制作一个TkGUI并制作多个具有不同全局变量名称的复选框。最有效的方法是什么?我找到了instance_variable_set,但这不适合我的场景。我想知道是否有像global_variable_set这样的东西。例如。info=[orange,apple,banana,grape,watermelon]$var=TkVariable.Newinfo.each_with_index{|inf,index|TkCheckButton.new(frame1)dotext"#{inf}"onvalue"#{inf}"variableglobal_variable_set("

ruby-on-rails - rails config/environments 'config' 在哪里定义?

在config/environments/production.rb(和其他环境)中有:config.eager_load=true和一大堆其他config.foobar调用。但是“配置”从何而来?通常你有这样的东西:SomeClass.eachdo|block_variable|block_variable.some_methodend但对于神秘的“配置”,情况并非如此,它就像一个未在任何地方声明的block变量。打开Rails控制台,当我这样做时:irb(main):001:0>configNameError:undefinedlocalvariableormethod`confi

ruby - Sinatra 和 environment.rb

我正在开发一个基于Sinatra的应用程序,并且看到一些应用程序在应用程序的根目录中使用environment.rb文件,代码放置在配置block中。请参阅示例:https://github.com/zapnap/sinatra-template/blob/master/environment.rb;和https://github.com/andrewkolesnikov/sinatra-pro-template/blob/master/environment.rb.我尝试在Google上搜索但找不到关于environment.rb文件如何与Sinatra一起工作以及为什么要将某些内容

ruby-on-rails - rake 中止! Sass::语法错误: undefined variable : "$alert-padding"

我在Rails应用程序的生产环境中卡住了,因为我的Assets没有编译。当我使用rvmsudobundleexecrakeassets:precompileRAILS_ENV=production--trace它抛出rakeaborted!Sass::SyntaxError:undefinedvariable:“$alert-padding”这是我的Gemfile:source'https://rubygems.org'gem'rails','4.2.3'gem'mysql2','~>0.3.11'gem'jquery-rails'gem'jquery-ui-rails'gem'sas