草庐IT

ruby-on-rails - rails : I installed ActiveAdmin and my devise link stopped working

我已经安装了设备。我有一个链接:当我安装ActiveAdmin(对于现有型号User)时,此链接停止工作:undefinedlocalvariableormethod`new_user_registration_path'我对routes.rb使用了gitdiff在这里(添加的行是黑色的):ActiveAdmin.routes(self)devise_for:users,ActiveAdmin::Devise.config还有:delete%>现在导致/admin/logout我该如何解决这个问题?rake路:admin_dashboard/admin(.:format){:actio

ruby-on-rails - Ruby 风格问题 : storing hash constant with different possible values

这更像是一个风格问题,我想知道其他人是怎么做的。假设我的数据库中有一个名为“status”的字段用于博客文章。我希望它有几个可能的值,例如“草稿”、“等待审核”和“已发布”。显然我们不想每次都在这些魔法值中“硬编码”,那样不会很干。所以我有时做的是这样的:classPostSTATUS={:draft=>"draft",:awaiting_review=>"awaitingreview",:posted=>"posted"}...end然后我以后可以编写引用它的代码,如STATUS[:draft]或Post::STATUS[:draft]等这工作正常,但有一些我不喜欢的地方。如果您输入

ruby-on-rails - rake 数据库 :migrate not working on my postgres db

好的,所以我有一个Rails应用程序,我试图在postgres数据库上运行迁移,我通常使用mysql,一切都很好,但是当我运行命令时,我得到了这个rakedb:migrate(in/Users/tamer/Sites/my_app)/Users/tamer/.rvm/gems/ruby-1.9.2-p290@my_app/gems/activerecord-3.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:487:[BUG]Segmentationfaultruby1.9.2p290(2011-07-09

ruby - 我可以做 hash.has_key 吗? ('video' 或 'video2' ) ( ruby )

或者我可以做得更好hash.has_key?('videox')wherexis''什么都没有或一个数字?所以'video'、'video1'、'video2'会通过条件吗?当然我可以有两个条件,但万一我将来需要使用video3,事情会变得更复杂...... 最佳答案 如果您想要video的一般情况后跟一个数字而不明确列出所有组合,可以使用Enumerable中的几种方法。您可以将其与正则表达式结合使用。hash.keys是来自hash的键数组,^video\d$匹配视频后跟一个数字。#trueiftheblockreturnstr

ruby-on-rails - Rails 使用 Symbol 与 String 作为 params hash 中的键

如果我们使用字符串作为哈希键,Ruby需要计算字符串并查看它的内容(并计算其上的哈希函数)并将结果与​​已存储的键的(哈希)值进行比较在哈希中。如果我们使用一个符号作为散列键,则暗示它是不可变的,因此Ruby基本上可以将对象ID的(散列函数)与键的(散列)对象ID进行比较已经存储在哈希中。(快得多)。但问题在于Railsparams,它是HashWithIndifferentAccess的实例,如果我们编写params[:some_key]它会转换:som​​e_key到'some_key'然后它会尝试在参数散列中查找键。line159defconvert_key(key)key.ki

ruby - 允许传递 [hash_key] 的 rspec stub

如何创建rspec方法stub以允许接收散列键的方法的响应返回其值?这是我要测试的线路sub_total=menu.menu_items[item]*quantity并且我在rspec中使用这一行作为我的double测试stub。allow(menu).toreceive(:menu_items[item]).and_return(2.0)我的环境是用ruby​​2.2.0和spec3.1.7设置的但是我不断得到一个NameError:undefinedlocalvariableormethod`item'ruby代码defplace_order(item,quantity,menu)

ruby - 与 block 一起使用时,ruby Hash#merge 的行为是什么

它似乎没有被记录很多:hsh.merge(other_hash){|key,oldval,newval|block}→a_hashhttp://ruby-doc.org/core/classes/Hash.html#M002880 最佳答案 正如预期的那样,生成的散列将包含一个block返回的值,该block针对存在于两个正在合并的散列中的每个键:>>h1={:a=>3,:b=>5,:c=>6}=>{:a=>3,:b=>5,:c=>6}>>h2={:a=>4,:b=>7,:d=>8}=>{:a=>4,:b=>7,:d=>8}>>h1

ruby - ruby 的 String.hash 方法如何工作?

我只是ruby的新手。我见过一个字符串方法(String).hash。比如在irb中,我试过了>>"mgpyone".hash返回=>144611910这个方法是如何工作的? 最佳答案 hash方法是为所有对象定义的。参见documentation:GeneratesaFixnumhashvalueforthisobject.Thisfunctionmusthavethepropertythata.eql?(b)impliesa.hash==b.hash.ThehashvalueisusedbyclassHash.Anyhashva

ruby-on-rails - rails : Can't access a module in my lib directory

我想创建一个通用的字符串操作类,可以在我的Rails应用程序中跨模型、View和Controller使用。现在,我正试图将一个模块放入我的lib目录中,我只是试图访问Rails控制台中的函数来测试它。我已经尝试了很多来自类似问题的技术,但我无法让它发挥作用。在我的lib/filenames.rb文件中:moduleFilenamesdefsanitize_filename(filename)#Replaceanynon-letterornon-numbercharacterwithaspacefilename.gsub!(/[^A-Za-z0-9]+/,'')#removespaces

ruby - grep on Hash 是什么意思?

{'a'=>'b'}.grep/a/=>[]>>{'a'=>'b'}.grep/b/=>[]它似乎与键或值不匹配。它会做一些我不挑剔的事情吗? 最佳答案 grep是在Enumerable上定义的,即它是一个不知道任何关于Hashes的通用方法。它对Enumerable的任何元素进行操作。Ruby没有键值对类型,它只是将Hash条目表示为双元素数组,其中第一个元素是键,第二个元素是值。grep使用===方法过滤掉元素。而且因为既不/a/===['a','b']也不/b/===['a','b']是真的,你总是得到一个空数组作为响应。试试