草庐IT

On_PushButton

全部标签

ruby-on-rails - 如何在 ruby​​ 中使用 utf8 的正则表达式

在RoR中,如何使用utf8代码验证中文或日文单词用于发布表单。在GBK编码中,它使用[\u4e00-\u9fa5]+来验证中文单词。在Php中,它使用/^[\x{4e00}-\x{9fa5}]+$/u用于utf-8页面。 最佳答案 Ruby1.8对UTF-8字符串的支持很差。您需要在正则表达式中单独编写字节,而不是完整的代码:>>"acentuação".scan(/\xC3\xA7/)=>["ç"]要匹配您指定的范围,表达式会变得有点复杂:/([\x4E-\x9E][\x00-\xFF])|(\x9F[\x00-\xA5])/#

ruby-on-rails - 在 Apache 下的子目录中配置 Ruby On Rails App

我在Windows上安装了apache2.2。我正在尝试同时提供颠覆(/svn)和redmine(/redmine)。我的svn使用此配置运行良好:DAVsvnSVNParentPathC:/svn_repository...这很好用——我的svn用户可以点击http://mybox/svn就好了。现在我想为Rails应用程序(RedMine)添加另一个目录:我遵循了thisquestion中的建议设置杂种服务器并让apache代理客户端连接到它。如果我将它设为根目录,它工作正常——但我在将它设为子目录时遇到了问题:ProxyPasshttp://localhost:3000/Prox

ruby-on-rails - Rails - 如何创建链接到另一个模型的两个模型

我正在尝试创建以下内容:Usermodel(thisisfine)idLinkmodel(associatedwithtwoUsers)iduser_id1user_id2这是我想在链接模型上使用has_and_belongs_to_many关联类型的实例吗?我应该怎么做?最终,我希望能够拥有一个用户对象并调用@user.links来获取涉及该用户的所有链接...我只是不确定在Rails中执行此操作的最佳方法是什么。 最佳答案 您很可能需要两个结构如下的模型:classUser:friendships#...endclassFrie

ruby-on-rails - 仅回形针过程图像

我想对多种格式使用单个文件字段。据我了解,Paperclip足够聪明,可以只缩放图像并单独保留其他格式,但这似乎不适用于flv(返回imagemagick/identify-errors)。有什么方法可以帮助Paperclip并明确设置特定格式以进行缩放吗?更新:显然,使用:whiny=>false(感谢fl00r)可以防止这些错误,这对于常规上传来说效果很好。但是,我在这里要做的是通过FTP上传文件,然后通过附件参数中的File.new([:path])代码创建新记录。这就像图像的魅力一样,但是:whiny=>false-trick不会再这样做了。有人对此有任何提示吗?

ruby-on-rails - 检测应用程序是否作为 HTTP 服务器启动(rake 任务、rconsole 等)

我正在使用EventMachine和Monetarily与我的Rails应用程序一起启动eTCP服务器。这是从config/initializers/momentarily.rb开始的。我的问题是当我运行rake任务时它也会启动,比如db:migrate。我只希望它在我启动HTTP服务器时启动。环境无济于事,因为服务器启动和rake任务都在开发环境下。有没有办法知道应用程序正在运行HTTP服务器而不是其他任何东西?请注意,这不仅是rake任务,如果我运行rails控制台,EM也会启动,这对我的情况来说也是不可取的。 最佳答案 unl

ruby-on-rails - Rails 嵌套 with_option :if used in validation

validate:updatable?#Firstvalidationthereiswith_options:if=>Proc.new{|object|object.errors.empty?}do|updatable|updatable.with_options:if=>"self.current_step==basic"do|step|validates....bla-blabla因此,在进行任何验证之前,updatable子例程被调用,它用适当的错误填充errors[:base]数组,这意味着该对象不可更新.如果在此子例程中发现任何错误,我希望它跳过其余的验证,但上述示例不工作-

ruby-on-rails - Rails - 如何禁用所有控制台日志记录?

来自javascript背景,我发现运行rails时的命令行很困惑。每当有事情发生时,我的命令行就会充满一堆废话。例如:[2013-06-1920:25:53]WARNCouldnotdeterminecontent-lengthofresponsebody.Setcontent-lengthoftheresponseorsetResponse#chunked=true如何关闭此功能以便我只看到自己的日志(当然还有错误)?感谢任何帮助! 最佳答案 尝试更改日志级别,默认为信息。来自指南:http://guides.rubyonrai

ruby-on-rails - Rails CanCan gem 重构能力类

我的Rails应用程序中有大约13个模型,我对所有模型都使用了ability。我的能力等级变得很大。我对不同的CRUD操作有不同的能力条件,这使得它很难管理。有人可以指导我如何重构这个……吗?比如,使用模块或类来使我的能力类看起来整洁。 最佳答案 Simpleescenario:如果您可以将权限拆分为几个互斥的集合,那么您应该查看来自CanCan创建者@ryanb的这个提案,他将权限拆分为几个不同的类别,然后覆盖ApplicationController中的current_ability方法Howyoucanbreakuplarge

ruby-on-rails - Rails 4 关注 : Give class instance variables to model

考虑到Rails,我可以通过包含它们来通过模块提供我的模型类方法和实例方法。不过,我发现没有任何博客条目或线程提到如何在我的模型中包含变量。具体来说,我想给我的包含模型一个类实例变量@question,但我不知道将声明放在模块中的什么地方,所以它会被应用。如果模型本身声明了该变量,我还希望重写类实例变量。ActiveSupport::Concern模块真的关心变量吗?moduleContentAttributeextendActiveSupport::Concerndeffoop"hi"endmoduleClassMethods#@question="Iamagenericquesti

ruby-on-rails - 如何不截断 Mongoid 日志?

这是Mongoid记录操作的方式:D,[2016-01-12T18:42:19.790639#7906]DEBUG--:MONGODB|localhost:27017|app_test.update|STARTED|{"update"=>"users","updates"=>[{"q"=>{"_id"=>BSON::ObjectId('5695652bc54d2d1ee200001e')},"u"=>{"$addToSet"=>{"favorite_ids"=>{"$each"=>[BSON::ObjectId('5695652bc54d2d1ee200001f')]}}},"mult