相关疑难解决方法(0)

如何使用Rails中的instance_eval子句删除验证?

我想使用instance_eval增强现有的类.原始定义包含验证,需要存在某些字段,即:

class Dummy < ActiveRecord::Base
  validates :field, :presence => true 
end
Run Code Online (Sandbox Code Playgroud)

现在我想使用instance_eval(或任何其他方法,实际上)将其更改为可选:

Dummy.instance_eval do
  ...
end
Run Code Online (Sandbox Code Playgroud)

删除验证的正确语法是什么,因此该字段是可选的.我宁愿直接在模型层上执行此操作,而是在控制器或视图中执行奇怪的操作.实际上并不需要使用instance_eval,但据我所知,这通常是增强Rails中类的最佳方法.

编辑#1

一般来说 - 原始类是gem的一部分,我不想分叉它,也不想绑定到特定的版本.一般原因并不重要.简单地编辑原始模型比猴子修补具有更糟糕的后果.

ruby validation activerecord ruby-on-rails

37
推荐指数
5
解决办法
1万
查看次数

是否设计使用相同的电子邮件支持多个帐户?

我正在考虑将CakePHP应用程序中的身份验证移动到Rails Devise.但是,我们的网站使用用户名作为唯一标识符而不是电子邮件,因为家庭通常在多个帐户上使用相同的电子邮件地址.

默认情况下,Devise使用电子邮件作为唯一标识符 - 使用Devise时是否可以使用相同的电子邮件地址?

cakephp ruby-on-rails devise

2
推荐指数
1
解决办法
1777
查看次数

标签 统计

ruby-on-rails ×2

activerecord ×1

cakephp ×1

devise ×1

ruby ×1

validation ×1