草庐IT

validates_associated

全部标签

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

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

ruby-on-rails - 通过 Rails ActiveRecord Association 调用类方法

我有两个类:classPost问题是是否有更好的方法来知道调用类方法的关联对象(post)的id。一种方法(上面使用的)是:post_id=self.new.post_id。我敢打赌有一种更简洁的方法,我不必为了获取post_id而创建对象。 最佳答案 直接回答你的问题,Comment.scope_attributes将返回Comment的当前范围将设置的那些属性的散列。您可以像这样测试关联对此的影响虽然我不确定我是否会使用它-拥有一个只能在特定形式的范围内调用的类方法似乎有点奇怪。 关

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-on-rails - RubyMine 错误 : Unable to find associated Rails Model for ':users' associations failed

我正在编写一些教程,但遇到了一些问题。RubyMine无法为“:users”关联找到关联的Rails模型失败我正在使用:-ruby矿7-Ruby版本meneger(rvm)-ruby​​-1.9.3-p551[x86_64]-ruby​​-2.1.5[x86_64]-railsRails4.1.8-gemsqllite3我的模型是:classCompany:worksendclassUser:worksendclassWorkShema.rbActiveRecord::Schema.define(version:20141207111312)docreate_table"compani

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

ruby-on-rails - rails : Structuring a query involving a polymorphic association and STI

我正在尝试查找关于照片的10条最新评论,以便将它们集成到我的Rails3.0.3应用程序的事件提要中。我有一个Photo模型,它使用单表继承从Upload模型继承:classUpload:commentable...end多态关联commentable在Comment模型中描述:classCommenttrueend到目前为止还不错吧?当我尝试构建查询时,问题就来了。经过反复试验,我想出了位于照片模型中的这段代码:defself.latest_comments(count=10)Comment.where(:commentable_type=>"Upload")\.joins("INN

ruby - 是否可以结合 with_options 和 :if for conditional validations?

我正在尝试使用with_options为管理员用户将我的条件验证组合在一起。对用户名唯一性的第二次验证最终覆盖了with_options条件。有更好的方法吗?或者我应该忘记with_options并编写两个单独的语句?with_options:if=>Proc.new{|user|user.admin?}do|admin|admin.validates:email,:presence=>trueadmin.validates:username,:uniqueness=>true,:if=>Proc.new{|user|user.category=="customized_usernam

ruby-on-rails - rails 4 : form_for with associations

rails和ruby​​的新手。与form_for和关联作斗争。我正在尝试设置一个允许用户从客户端列表中进行选择的Rails应用程序。客户端通过has_many:through关系关联。我的模型按预期工作,我可以通过Rails控制台向用户添加客户端。我现在想将此功能移至Web界面。下面的代码是我尝试过的,但对我来说没有意义。我不确定哪个Controller操作是正确的操作。我应该在客户端的创建操作中处理表单POST吗?我实际上并不想创建新客户,我只是希望用户从现有客户列表中进行选择并创建关联。我的模型如下:classClient:user_clientshas_many:user_cl

ruby-on-rails - rails 3 : How to disable autosave of has_one and has_many associations?

我有一个用户模型,其中有一个图片。我怎样才能禁用自动保存选项。当我尝试以下操作时出现错误。我正在使用Rails3。classUser"ImageMapping",:as=>:imageablehas_one:image,:through=>:image_mapping,:class_name=>"Image",:autosave=>falseend它说未知key:自动保存没有正确加载autosave_association.rb吗? 最佳答案 这可能无法解决您的问题,但也许您发现它有帮助:has_one:through似乎有问题。例