草庐IT

ruby-on-rails - Rails 3 - 如何跳过验证规则?

我有这个验证规则的注册表单:validates:email,:presence=>{:message=>'cannotbeblank.'},:allow_blank=>true,:format=>{:with=>/\A[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]+\z/,:message=>'addressisnotvalid.Please,fixit.'},:uniqueness=>true此规则检查,如果用户填写注册表单电子邮件地址(+其正确格式)。现在我正尝试添加使用Twitter登录的机会。Twitter不提供用户的电子邮件地址。在这种情

ruby-on-rails - ruby 1.8 和 1.9 之间的字符串长度差异

我有一个运行在ruby​​1.8.7上的网站。我对传入的帖子进行了验证,检查以确保我们最多允许12000个字符。在对帖子进行验证之前,空格被计为字符,制表符和回车符被去除。这是经过验证的帖子http://pastie.org/5047582在ruby​​1.9中,字符串长度显示为11909,这是正确的。但是当我检查ruby​​1.8.7的长度时,结果是12044。我使用codepad.org运行这个ruby​​代码,它给了我http://codepad.org/OxgSuKGZ(输出长度为12044,这是错误的)但是当我在codeacademy.org的控制台中运行相同的代码时,字符串

ruby-on-rails - 在 Ruby on Rails 的每个循环中,如果没有任何迭代,是否有做某事的好方法?

有没有一种简单的说法:否则,如果没有任何循环,则显示“无对象”。似乎应该有一个很好的语法方法来执行此操作而不是计算@user.find_object("param")的长度 最佳答案 你可以这样做:if@collection.blank?#@collectionwasemptyelse@collection.eachdo|object|#Youriterationlogicendend 关于ruby-on-rails-在RubyonRails的每个循环中,如果没有任何迭代,是否有做某事的

ruby-on-rails - 与 attr_accessor 相比,ActiveRecord 如何定义方法?

ActiveRecord似乎定义实例方法的方式与attr_accessor不同。attr_accessor似乎没有为我新定义的属性定义super方法:classSomeClassattr_accessor:some_attributedefsome_attributesuperendend>>some_class=SomeClass.new>>some_class.some_attributeNoMethodError:super:nosuperclassmethod`some_attribute'for..鉴于ActiveRecord明确定义了一个super方法:classSomeC

ruby-on-rails - 我日志中的 [1m[35m] 是什么,我该如何让它消失?

如果这个问题已经得到回答,我提前道歉。我一直在尝试在Google和StackOverflow上搜索此内容,但由于我的搜索查询中包含标点符号,因此搜索引擎往往会对其进行修改并给出无意义的结果。在我的rails应用程序(rails3.2.11,ruby1.9.3)中,我的日志经常是这样的:StartedGET"/apply/contact"for127.0.0.1at2013-01-2917:35:21-0600ProcessingbyJobApplicationsController#showasHTMLParameters:{"id"=>"contact"}[1m[36mJobAppl

ruby - 为什么 Rails 控制台说 "cannot load such file -- readline"?

我是RubyonRails的新手,正在使用RVM来管理Ruby版本。我的笔记本电脑安装了Ruby1.8.7,但我的项目使用的是RVM、Ruby1.9.3和Rails3.2.11。如果没有出现以下错误,我无法运行railsc或railsconsole:/home/phil/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/irb/completion.rb:9:in`require':cannotloadsuchfile--readline(LoadError)from/home/phil/.rvm/rubies/ruby-1.9.3-p392/lib

ruby-on-rails - rails : replacing try with the Null Object Pattern

在我的大多数应用程序中,我都有一个current_user方法。为了避免像current_user.name这样的情况出现异常,其中current_user是nil,rails提供了try方法。这个问题是我需要记住在current_user可能是nil的地方使用try。我想使用NullObject模式来消除这种额外的开销。classNullUserdefmethod_missing(method_name,*args)nilendenddefcurrent_userreturnNullUser.newunlessUserSession.find@current_user||=UserS

ruby-on-rails - 如何在公共(public)事件中设置收件人ID

我正在查看公共(public)事件GemRailscastVid。(http://railscasts.com/episodes/406-public-activity)我当前的数据库查找/存储除了recipient_id之外的所有内容....它显示为nil#我希望recipient_id是正在执行操作的用户....例如如果我喜欢Tom的帖子......我希望Tom的ID成为recipient_id,我将成为owner_id。我目前已经设置了一个收件人ID....使用我的LikesController中的代码....但它只将收件人ID设置为当前用户....这不是我想要的:(喜欢Cont

ruby-on-rails - 带分号的字符串在 RubyMine 中产生 "unterminated string meets end of file"

在RubyMine调试器中,只需在watch中输入:';'或";"我收到错误:"unterminatedstringmeetsendoffile"这是为什么?据我所知,它不会发生在Rails控制台中,并且与RubyMine没有任何关系。 最佳答案 这是Ruby调试器与Ruby解释器具有不同解析规则的结果。事实上,从irb或ruby命令调用的常规Ruby调试器表现出相同的行为。然而,解决方法很简单:要创建一个由单个分号组成的字符串文字,只需使用反斜杠将其转义即可:$irb>require'debugger'=>true>debugge

ruby-on-rails - sunspot solr 按多个术语搜索

我正在使用sunspot_railsgem,我正在尝试进行如下搜索:搜索名称为Mary或Sally的用户但我不知道如何做或。如果我做类似的事情:search=Users.searchdofulltext'MarySally'end或search=Users.searchdofulltext'Mary'fulltext'Sally'end我没有得到任何结果......但是如果我做其中一个,而不是两个,我会得到预期的结果:search=Users.searchdofulltext'Mary'#orfulltext'Sally'end将返回单个项目。对于太阳黑子,这甚至可能吗?-------