草庐IT

ruby-on-rails - rails : How to test if an attribute of a class object is required in the model policy?

简单地说,我有一个模型用户,其中包含名称、电子邮件和评论作为属性。validates_presence_of:namevalidates_presence_of:email所以“姓名”和“电子邮件”是必需的,但不是“评论”。my_user=User.new我想找到一种方法来测试像my_user.name.required?或User.name.required?类似的东西。我的目标是创建一个表单,并根据该项目是否设置为“validates_presence_of”,将特定类动态添加到表单项目span或td我试图搜索它,但没有找到任何相关信息。有没有简单的方法可以做到这一点?谢谢

ruby-on-rails - Rails 服务器错误 : Ruby version is 1. 8.7,但您的 Gemfile 指定了 1.9.3

我输入了一个现有的ruby​​应用程序,然后输入:$rails想在这里启动railsserver。但它说:您的Ruby版本是1.8.7,但您的Gemfile指定为1.9.3其实我有一个1.8.7,但是我把它删掉了。如果我这样做:$ruby-v它说:ruby1.9.3p286(2012-10-12修订版37165)[x86_64-darwin11.4.2]所以我不知道该如何解决。你能帮我个忙吗? 最佳答案 如果您使用rvm,运行这个:$rvmuse1.9.3 关于ruby-on-rails

ruby-on-rails - postgresql 数据库错误 : Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

当我运行rakedb:migrate或运行railss命令时,我得到同样的错误:Error:couldnotconnecttoserver:NosuchfileordirectoryIstheserverrunninglocallyandacceptingconnectionsonUnixdomainsocket"/var/run/postgresql/.s.PGSQL.5432"?当我尝试railss时,浏览器出现错误。这是我的database.ymldefault:&defaultadapter:postgresqlencoding:unicodepool:5development

ruby - Rubocop 错误 'Class definition is too long ruby'

我收到rubocop错误“类定义太长。[236/100]'。我的类(class)如下所示:classSomeClassNameincludeHelperModuleattr_accessor:aaa,:bbb,:ccc....methods.....end可能会出现什么问题?rubocop文档ClassLength说“一个类(class)的长度超过了某个最大值”。什么意思? 最佳答案 是的,这是因为rubucop认为整体线路太多。我同意类(class)不应该太长,但认为最终应该由以下因素决定:类(class)是否有单一职责,方法是否

ruby-on-rails - Mac OS X 山狮 "Rails is not currently installed on this system."

我正在全新安装OSXMountainLion。我通过以下方式安装了Rails:sudogeminstallrails一切似乎都安装正确,但是当我键入rails命令(railss、rails-v等)时,我收到此错误:Railsisnotcurrentlyinstalledonthissystem.Togetthelatestversion,simplytype:$sudogeminstallrailsYoucanthenrerunyour"rails"command.'whichrails'的结果是/usr/bin/rails我认为这是一个路径问题,也许是,但我可以看到/usr/bin是

ruby - RVM + Zsh "RVM is not a function, selecting rubies with ' rvm 使用.. .' will not work"

首先我要说我不是命令行专家,所以我真的几乎不知道自己在做什么。我无法让RVM和oh-my-zsh一起玩得很好。我尝试了几种不同的解决方案,其中一些是在SO上发布的,但我发现似乎没有任何解决方案可以解决问题。最初,其他人在我的机器上安装了RVM。后来我自己设置了oh-my-zsh,记得当时遇到了很多麻烦。除了这两行,我的.zhsrc文件是完全默认的exportPATH=$HOME/bin:/usr/local/bin:/usr/local/rvm/bin:$PATH#prettysurethislinedoesnothing,althoughI'veseenthisfixaround#s

ruby - 在 Ruby 中,为什么在启动 irb 之后出现 foo.nil?说未定义的错误,@foo.nil?给出 "true"和 @@wah.nil?又报错了?

在Ruby1.8.7和1.9.2中相同:$irbruby-1.8.7-p302>foo.nil?NameError:undefinedlocalvariableormethod`foo'for#from(irb):1ruby-1.8.7-p302>@bar.nil?=>trueruby-1.8.7-p302>@@wah.nil?NameError:uninitializedclassvariable@@wahinObjectfrom(irb):3为什么实例变量与局部变量和类变量的处理方式不同? 最佳答案 在Ruby中,大多数未初始化

ruby 公案 : test_nil_is_an_object

我最近尝试使用这个工具来提高我的Rails技能:http://github.com/edgecase/ruby_koans但我无法通过一些测试。此外,我不确定我是否正确地做了一些事情,因为目标只是通过测试,有很多方法可以通过它,我可能正在做一些不符合标准的事情。有没有办法确认我做的事情是否正确?具体例子:在about_nil中,deftest_nil_is_an_objectassert_equal__,nil.is_a?(Object),"UnlikeNULLinotherlanguages"end它是告诉我检查第二个子句是否等于一个对象(所以我可以说nil是一个对象)或者只是把as

ruby-on-rails - 在 Ruby 中返回 true 或错误消息

我想知道编写这样的函数是好的还是坏的形式。deftest(x)ifx==1returntrueelsereturn"Error:xisnotequaltoone."endend然后为了使用它,我们做这样的事情:result=test(1)ifresult!=trueputsresultendresult=test(2)ifresult!=trueputsresultend它只显示第二次调用测试的错误消息。我正在考虑这样做,因为在一个Rails项目中,我在我的Controller代码中工作,我调用模型的实例方法,如果出现问题,我希望模型将错误消息返回给Controller和Control

Ruby:为什么 Hash === {} 返回 true?

我有一个哈希,比方说:ahash={test1:"test1",test2:"test2"}为什么Hash===ahash返回true,而ahash===Hash却没有?这是一些带有===和类名的默认ruby​​行为吗? 最佳答案 这就是===方法的工作原理。它是定向的,适用于任何类:"foo"===String#=>falseString==="foo"#=>true这是因为计算结果为:"foo".send(:===,String)String.send(:===,"foo")这是两种不同的方法,一种用于类,一种用于实例。如果您只