草庐IT

MySQL:在我的用户表中查找重复的名称

全部标签

ruby-on-rails - 在 Ruby on Rails 中查找未使用的 View /部分

我目前正在从事一个大型的RubyonRails项目。它已经足够老,也足够大,以至于不清楚是否所有View都在实际使用中。有没有可以生成未使用View文件列表的脚本/插件? 最佳答案 我写了一个脚本来查找未使用的部分/View。不过,我假设“未使用”意味着存在一个View文件,但没有为其定义Controller方法(不再)。该脚本不检查View是否被调用,因为没有从默认路由到它的链接。这会复杂得多。将以下脚本放在应用程序的脚本文件夹中:#!/usr/bin/envrubyrequire'config/environment'(Dir[

ruby - 从 Ruby 数组中删除顺序重复项

假设我有以下数组,我想去掉连续的重复项:arr=[1,1,1,4,4,4,3,3,3,3,5,5,5,1,1,1]我想得到以下信息:=>[1,4,3,5,1]如果有比我的解决方案(或其变体)更简单、更高效的东西,那就太好了:(arr+[nil]).each_cons(2).collect{|i|i[0]!=i[1]?i[0]:nil}.compact或(arr+[nil]).each_cons(2).each_with_object([]){|i,memo|memo编辑:看起来@ArupRakshit下面的解决方案非常简单。我仍在寻找比我的解决方案更高效的方法。编辑:我将在响应出现时对

ruby-on-rails - 如何在 Devise 中填充一些默认用户?

我正在尝试让Devise在我的Rails应用程序中运行。我是Rails的新用户。添加一些默认用户的正确方法是什么? 最佳答案 在Rails中设置任何默认数据的正常方法是在db/seeds.rb中添加数据:user1=User.create:name=>"User1",:email=>"user1@example.com",:password=>"user123"根据您的验证和设计功能,您可能需要输入更多字段。为了使用该数据,您只需调用rakedb:seed。rakedb:migraterakedb:seed

ruby-on-rails - Lion 吃了我的 RVM,现在我无法安装 Ruby

我最近升级到Lion,一切都很好。甚至重新启动机器几次。然后在周末,Rails消失了!我所有的gem都不见了。我发誓我不知道发生了什么。它工作得很好。仔细一看,RVM本身就不见了。因此,我重新安装了RVM并尝试安装Ruby1.9.2,但我得到了这个错误日志:[2011-08-0814:30:41]./configure--prefix="/Users/cbmeeks/.rvm/usr"checkingforaBSD-compatibleinstall.../usr/bin/install-ccheckingwhetherbuildenvironmentissane...yescheck

ruby-on-rails - 查找关联记录存在的位置

我如何才能只选择那些具有关联标签记录的员工?换句话说,只选择具有一个或多个与之相关联的标签记录的员工记录。classEmployee下面的查询(这是错误的)会让你们了解我正在尝试做什么。Employee.includes(:tags).where("tags.id!=nil") 最佳答案 您可以使用.joinsEmployee.joins(:tags)此生成的SQL包含tags表上的INNERJOIN,省略没有关联tagsemployees表记录记录。 关于ruby-on-rails-查

ruby 通过重复字符或空格拆分字符串

我如何分割这个字符串。"68855588866887777"=>["6","88","555","8","88","66","88","7777"]我试过了,但是没用。ruby-1.8.7-p334:020>"111133".split(/(\d)\1+/)=>["","1","","3"] 最佳答案 split将只使用它匹配的任何内容作为分隔符,并将其从相关字符串中删除。您要找的是scan:str="68855588866887777"str.scan(/((\d)\2*)/).map(&:first)#=>["6","88","

ruby - 按名称动态获取 Ruby 类常量

我有一个类API,它从第三方API中提取对象并将它们构建到类型为APIObject的子类的对象中。APIObject子类与我从中提取的API中的对象名称相匹配:User我想在APIObject中定义一个类方法,允许我使用标准Rails访问器拉取对象:user=User.findid我想要将此调用转换为这样的API调用的方法:API::User::findByIdid我想使用self.class.name访问APIObject子类(User)的名称,并使用它来调用常量(API::User),但我知道API::self.class.name不会工作。我可以为每个子类一遍又一遍地重写这个方法

ruby-on-rails - Ruby - 如何在其内部获取方法名称?

这个问题在这里已经有了答案:Getthenameofthecurrentlyexecutingmethod(5个答案)关闭8年前。我正在尝试从自身获取方法名称:deffunky_methodself.inspectend它返回“main”。我怎样才能返回“funky_method”呢?

ruby - 在 ruby​​ 中哪个更快 - 散列查找或带有 case 语句的函数?

在时间紧迫的脚本中,我们有几个地方可以将旧ID转换为字符串。目前,我们在函数内部使用case语句,如下所示:defget_nameidcaseidwhen1"onething"when3"otherthing"else"defaultthing"endend我正在考虑将其替换为哈希查找,如下所示:NAMES={1=>"onething",3=>"otherthing",}NAMES.default="defaultthing"感觉使用NAMES[id]应该比使用get_name(id)更快-但真的是这样吗? 最佳答案 首先,有几点。

ruby-on-rails - 使用 Devise for Rails 禁止/阻止用户的最佳方法是什么?

我在我的Rails应用程序中使用Devise进行身份验证,我希望能够阻止某些帐户并防止用户使用被阻止的电子邮件重新注册。我只是不确定最好的方法是什么。我的第一个想法是覆盖session和注册Controller,以检查模型中是否存在被阻止的用户,但我觉得可能有更优雅的方法。 最佳答案 最好的方法是以设计方式来做:以下假设您使用的是Devisedatabase_authenticatable模块,并且您的应用程序的用户模型名称为User。1。实现account_active?方法。在users表中添加booleanaccount_ac