草庐IT

client_side_validations

全部标签

ruby-on-rails - ruby rails : What to do when two models share a lot of similar validations/validation_methods

我有几个模型都是以“密码”为中心的模型。它们不属于单个继承表,需要在单独的表中进行跟踪。从逻辑上讲,它们是完全不同类型的模型,但都具有密码和密码确认跟踪功能。他们还对密码规则使用相同的业务逻辑,例如密码中的字符数等。在Rails中确保代码是DRY且不会在Rails中重复的最佳方法是什么?我应该考虑做什么? 最佳答案 将通用代码分解成一个模块,然后将模块包含在每个模型类中。 关于ruby-on-rails-rubyrails:Whattodowhentwomodelssharealotof

ruby - 使用rest-client ruby​​ gem在elasticsearch中传递json数据获取请求

如何使用rest客户端执行以下查询(在doc中给出)。curl-XGET'http://localhost:9200/twitter/tweet/_search'-d'{"query":{"term":{"user":"kimchy"}}}'我试过这样做:q='{"query":{"term":{"user":"kimchy"}}}'r=JSON.parse(RestClient.get('http://localhost:9200/twitter/tweet/_search',q))这引发了一个错误:in`process_url_params':undefinedmethod`del

ruby - 轨道模型 : validates_uniqueness_of doesn't remove trailing spaces not leading ones before unique check?

假设我对用户名实现validates_uniqueness_of。如果名称“maddy”已经存在,那么它将接受值“maddy”作为唯一值而不是“maddy”。它应该删除两侧的空格。如何有这种行为? 最佳答案 classPersonbefore_validation:strip_blanksprotecteddefstrip_blanksself.name=self.name.stripendend这段代码的来源包含一些关于为什么这不是默认的Rails行为的讨论。http://www.ruby-forum.com/topic/1664

ruby - 使用ruby google-api-client获取youtube视频数据

您好!我看过很多类似的问题,但想不通为什么没有一个能给出明确的答案。我正在尝试使用google-api-clientgem连接到youtube数据api,以从youtube视频链接中检索缩略图。我假设我不需要处理那个(对我来说晦涩难懂)oAuth身份验证。第一步:我使用googleapi控制台创建项目,授权Youtube数据API。在“API访问”选项卡中,我选择“创建客户端ID...”和选项“服务帐户”。它给了我一个客户端ID、电子邮件地址和公钥指纹。第二:我使用google-api-clientgem创建我的ruby​​脚本。我只是复制/粘贴文档中的示例:需要“google/api

ruby-on-rails - 返回 : Validate Non-model fields in model file

我的表单中有一些不属于模型的字段,我知道如何在Controller中验证这些字段,但我想知道是否可以在模型中验证它?如果可能的话,接下来我将如何验证?例如text_field(nil,:non_model_field) 最佳答案 试试这个:在模型中放置一个虚拟属性。classMyModel 关于ruby-on-rails-返回:ValidateNon-modelfieldsinmodelfile,我们在StackOverflow上找到一个类似的问题: http

ruby-on-rails - Rails validates_associated 与模型的错误信息

我在模型中使用validates_associated来使用其他模型的验证代码。问题是验证失败的消息是“..无效”。我想将模型验证失败的实际描述性错误冒泡到顶部!我发现了这个问题:validatesassociatedwithmodel'serrormessage它有一个看起来非常接近的解决方案:moduleActiveRecordmoduleValidationsclassAssociatedBubblingValidatorvalue))endendendendendmoduleClassMethodsdefvalidates_associated_bubbling(*attr_n

ruby-on-rails - rails : validation fails with before_create method on datetime attribute

ApiKey.create!抛出验证错误:expires_at不能为空。classApiKey有属性t.datetime:expires_at但是,如果删除了验证,则before_create方法会在创建时起作用。这是为什么?-此模式适用于其他属性,例如access_tokens(字符串)等 最佳答案 我会说因为before_create在验证之后运行,也许您想将before_create替换为before_validation注意:如果你像那样留下回调,它会在你运行valid?或save或任何时候设置到期日期触发验证的事件记录方法

ruby - Capybara-webkit、rspec 集成规范和 xvfb : webkit_server: Fatal IO error: client killed

我正在尝试使用headless(headless)gem、xvfb和用于headless(headless)测试的capybara-webkit来获得在ubuntu服务器CI盒上运行的一套集成规范。一切都在本地开发箱上运行良好,但一旦转移到CI服务器,事情就会变得有趣。在规范助手中有一些代码包装:js在headless(headless)block中启用集成规范,如下所示:config.around(:each,:js=>true)do|example|Headless.ly&exampleend就像我说的,这一切都在本地开发箱上运行良好。在CI上,它使用headless(headle

ruby-on-rails - rails - rspec - 为什么这个 "validates_inclusion_of :role, :in => %w[one, two, three ] }"不起作用

我收到一个错误消息,指出此方法不存在,但这看起来相当基本,我不确定为什么会收到此错误消息?it{shouldvalidate_presence_of:role}#ThisisOK.Failure/Error:it{shouldvalidate_inclusion_of:role,:in=>%w[onetwothree]}NoMethodError:undefinedmethod`validate_inclusion_of'for#对于代码:classUser[one,twothree]]http://apidock.com/rails/ActiveModel/Validations/C

ruby - gem 安装失败,显示 "ruby: invalid option -H (-h will show valid options) (RuntimeError)"

在OSXMountainlion上运行geminstallffi会产生以下错误。geminstallffiBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingffi:ERROR:Failedtobuildgemnativeextension./beweiche.rvm/rubies/ruby-1.9.3-p374/bin/rubyextconf.rb/beweiche.rvm/rubies/ruby-1.9.3-p374/bin/ruby:invalidoption-H(-hwillshowvalido