草庐IT

paperclip-validation

全部标签

ruby-on-rails - 在哪里放置 ActiveModel::Validator?

我试着关注http://api.rubyonrails.org/classes/ActiveModel/Validator.html,但我应该把classMyValidator 最佳答案 Thisguy将它们放在app/validators/下,自从我看到那篇博文后,我也这样做了。 关于ruby-on-rails-在哪里放置ActiveModel::Validator?,我们在StackOverflow上找到一个类似的问题: https://stackover

ruby-on-rails - validates_uniqueness_of 范围为多列

将Validates_uniqueness_of与:scope选项一起使用时,传递这样的列数组是否有效:validates_uniqueness_of:x,:scope=>[:y,:z]因为我希望:x在:y和:z的上下文中是唯一的如果不是那么你怎么能做到这一点?2个验证每个范围一个?谢谢 最佳答案 是的,它是有效的,您的语法正是实现它的方式。查看validationsdocumentationpage了解更多详情。 关于ruby-on-rails-validates_uniqueness

ruby - 如何将 `should validate_presence_of` 与自定义错误消息一起使用?

我正在使用Rspec测试我的ActiveRecord模型。我刚刚向我的验证之一添加了自定义错误消息,如下所示:validates:accepted_terms_at,:presence=>{:message=>'YoumustaccepttheTermsandConditionstousethissite.'}现在下面的测试失败了:it{shouldvalidate_presence_of(:accepted_terms_at)}...错误Expectederrorstoinclude"can'tbeblank"whenaccepted_terms_atissettonil。所以测试失

ruby-on-rails - Rails : Validate only on create, 或在字段不为空时更新

当字段不为空时,如何限制Rails验证仅在创建时检查或检查?我正在为我正在使用的应用程序创建一个用户设置页面,问题是,当使用表单提供的参数进行更新时,只有在密码和密码确认都存在时才会保存设置。我希望这些密码字段无论如何都在创建时进行验证,但仅在提供时进行更新。 最佳答案 如果你想允许空值使用:allow_blank与验证。classTopic如果您只想在创建时验证,请使用on与验证。classTopic涵盖您的情况:classTopicvalidates:email,presence:true,if::should_validate

ruby-on-rails - 使用 Paperclip 获取服务器文件路径

我正在使用Rails和Paperclip制作一个小型文件上传应用程序。我希望能够在完成后返回上传文件服务器上的文件路径,但我似乎无法弄清楚如何获取路径?回形针似乎只记录文件本身的名称。现在有人知道怎么做吗? 最佳答案 假设您在用户实例上有一个名为avatar的附件,您可以使用user.avatar.path获取文件系统上文件的完整路径,并且您可以使用user.avatar.url提供您可以在图像标签等中使用的路径。你是这个意思吗? 关于ruby-on-rails-使用Paperclip获

ruby-on-rails - 使用 Paperclip 进行简单裁剪

我想在上传时使用Paperclip裁剪图像,以从原始图片的中心获得方形拇指。我在文档中找到了一种方法,它似乎完全符合我的要求:transformation_to(dst,crop=false)问题是我不知道在哪里使用这个方法。在这里简单地传递一些东西作为参数会很棒:has_attached_file:picture,:styles=>{:medium=>"600x600>",:thumb=>"somethinghere"} 最佳答案 你只需要使用#而不是>作为参数:has_attached_file:picture,:styles=

ruby-on-rails - 为什么我在安装 PaperClip 时得到一个 "undefined method for ` has_attached_file`?

我刚刚安装了Paperclip插件,但收到以下错误消息,但我不确定原因:NoMethodError(undefinedmethod`has_attached_file'for#):/Users/bgadoci/.gem/ruby/1.8/gems/will_paginate-2.3.12/lib/will_paginate/finder.rb:170:in`method_missing'app/models/post.rb:2app/controllers/posts_controller.rb:50:in`show'它引用了will_paginategem。据我所知,我的PostsC

ruby - "Could not find a valid gem in any repository"(rubygame 等)

一段时间以来我一直在尝试安装这个“rubygame”gem,但是每当我使用命令时geminstallrubygame会报错:ERROR:Couldnotfindavalidgem'rubygame'(>=0)inanyrepositoryERROR:Whileexecutinggem...(Gem::RemoteFetcher::FetchError)Errno::ETIMEDOUT:Connectiontimedout-connect(2)(http://rubygems.org/latest_specs.4.8.gz)我也尝试过其他gems但结果相似:ERROR:Couldnotf

ruby-on-rails - 如何使用 Paperclip 以编程方式设置文件上传

我有一个rake任务,使用fakergem为应用程序播种随机数据。但是,我们也有要在此rake任务中上传的图像(如Logo)。我们已经设置了Paperclip,但无法在rake任务中以编程方式上传它们。有什么想法吗? 最佳答案 程序化是什么意思?您可以设置一个方法,该方法将采用以下行的文件路径my_model_instance=MyModel.newfile=File.open(file_path)my_model_instance.attachment=filefile.closemy_model_instance.save!#a

ruby-on-rails - 我如何在 rails 中销毁 'validate'

在销毁restful资源时,我想在允许销毁操作继续之前保证一些事情?基本上,如果我注意到这样做会使数据库处于无效状态,我希望能够停止销毁操作?销毁操作没有验证回调,那么如何“验证”销毁操作是否应该被接受? 最佳答案 您可以引发异常,然后捕获该异常。Rails将删除包装在一个事务中,这有助于解决问题。例如:classBooking或者,您可以使用before_destroy回调。此回调通常用于销毁依赖记录,但您可以抛出异常或添加错误。defbefore_destroyreturntrueifbooking_payments.count