草庐IT

ruby-on-rails - Rails JSON API 参数验证和错误响应

我是Rails的新手,有几个关于验证参数和返回错误响应的问题。我想使用新的Rails5API模式创建一个JSONAPI。据我所知,Rails建议使用“强参数”作为验证参数的基线。例如,如果我想创建一个需要电话号码或电子邮件的User类,我会在我的UsersController中使用类似这样的内容。defcreate@user=User.new(create_user_params)enddefcreate_user_paramsparams.require(:user).permit(:email,:phone)end现在如果我想要更复杂的东西,我可能会添加以下内容defcreatea

ruby-on-rails - 如何在 Rails 中建模和存储重复性任务?

Rails中的Cron解决方案很多而且非常好。这不是我在这里挣扎的问题。相反,我遇到的麻烦是让用户创建他们自己的重复任务(如提醒)——特别是如何在数据库中建模和存储这些任务(一个好的UI也很重要——会很棒如果那里有代码)。谷歌日历在这里是一个很好的例子(添加事件的用户界面,而不是整个日历)......他们应该能够每天在CST下午1点,或周一/周三/周五,或每周等做。无论cron解决方案是什么然后需要轮询数据库以查看在那个时间需要发送哪些提醒,等等。有人在rails中看到过一个很好的插件/gem吗?似乎那里有一些东西,但我还没有找到它。谢谢! 最佳答案

ruby - 启动和停止 Ruby 线程

我如何从另一个线程中启动和停止一个单独的线程?loop_a_stopped=trueloop_a=Thread.newdoloopdoThread.stopifloop_a_stopped#Dostuffsleep3endendloop_b=Thread.newdoloopdoresponse=ask(">")caseresponse.strip.downcasewhen"start"loop_a_stopped=falseloop_a.runwhen"stop"loop_a_stopped=truewhen"exit"breakendendendloop_a.joinloop_b.j

ruby - 如何使用Nokogiri和XPath获取具有多个属性的节点

我正在尝试使用Nokogiri来解析带有一些相当古怪的标记的HTML文件。具体来说,我正在尝试获取同时定义了id、多个类和样式的div。标记看起来像这样:titleListofstuff我正在尝试获取里面的问题.我可以毫无问题地获得具有单个id属性的div,但我想不出一种方法让Nokogiri获取具有和两个id类的div。所以这些工作正常:content=@doc.xpath("//div[id='foo']")content=@doc.css('div#foo')但是这些不返回任何东西:content=@doc.xpath("//div[id='bar']")content=@doc

ruby-on-rails - Rails和回形针,删除记录但不删除附件

我正在使用rails和回形针以通常的方式保存图像。当带有附件的记录被销毁时,附件也会从文件系统中删除。99%的时间这是正确的操作,但是有一种情况我需要附件保留在系统中,即使数据库记录已删除。我想知道是否有人知道该怎么做。我尝试在销毁记录之前通过update_attribute将附件字段设置为nil,但update_attribute也会删除文件。一种方法是忽略所有回调,但是需要一些其他回调,这似乎有点太多了。任何人都知道任何更好的方法...干杯。 最佳答案 您可能想看看Attachment#assign(当您执行object.att

ruby-on-rails - 为什么我在 Rails 中得到 "Errno::ECONNREFUSED"和 'net/http'?

我正在尝试从URL解析XML文件。当我尝试这样的事情时:require'net/http'require'rubygems'require'xmlsimple'url='http://my-address.com/xmltest/note.xml'xml_data=Net::HTTP.get_response(URI.parse(url)).body一切正常,但仅当我在Rails项目之外执行此操作时。如果我尝试将此文件包含在我的Rails3项目中并在那里解析它,我会收到错误消息"Errno::ECONNREFUSEDin[controller]"-Connectionrefused-c

ruby - 遍历目录和子目录中的每个 .jpg 或 .jpeg 文件

我想遍历目录中的每个jpg/jpeg文件以及每个子目录和该子目录的每个子目录等等。我希望能够浏览文件夹中的每个图像文件。有没有一种简单的方法可以做到这一点,或者递归方法是否效果最好? 最佳答案 Dir.glob("your_directory/**/*.{jpg,jpeg}") 关于ruby-遍历目录和子目录中的每个.jpg或.jpeg文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

ruby - Ruby 1.8.7 中的 File.open 和 block

我是ruby​​的新手,目前正在阅读Pickaxe一书以熟悉所有内容。我遇到了File.open部分,其中讨论了将block作为File.open调用的参数,然后保证文件已关闭。现在,这听起来绝对是避免搬起石头砸自己脚的绝妙方法,而且由于我的脚趾很危险,所以我想我会试一试。这是我写的(如果重要的话,在irb中):File.open('somefile.txt','r').each{|line|putsline}``我的预期是文件somefile.txt会被打开、读取、打印和关闭,对吗?据我所知是错误的。如果我使用lsof查看打开的文件句柄,它仍然是打开的。但是,如果我这样做f=File

ruby-on-rails - Ruby 挑战 - 方法链和惰性求值

看完文章http://jeffkreeftmeijer.com/2011/method-chaining-and-lazy-evaluation-in-ruby/,我开始寻找更好的方法链和惰性求值解决方案。我想我已经用以下五个规范概括了核心问题;谁能让他们全部通过?任何事情都可以:子类化、委托(delegate)、元编程,但不鼓励后者。最好将依赖性保持在最低限度:require'rspec'classFoo#EpiccodehereenddescribeFoodoit'shouldreturnanarraycorrespondingtothereverseofthemethodchai

ruby - block 和对象

我有一个这样的对象classSomeObjectdefinitialize&block#dosomethingendendclassAnotherObject当AnotherObject中调用super时,该block似乎被传递给SomeObject。这是正确的行为吗? 最佳答案 根据rubyspec这是正确的行为,即使您将显式参数传递给super(即super('foo'))如果你不想传递那个block,你可以只传递一个什么也不做的block,尽管这不是完全一样的东西(例如,如果方法根据block_given?改变它的行为)看来s