对于非ActiveRecord对象的Validation,我们不能简单的include ActiveRecord::Validations
我们需要写一个module,放到lib下面,创建一个validateable.rb
module Validateable
[:save, :save!, :update_attribute].each{|attr| define_method(attr){}}
def method_missing(symbol, *params)
if(symbol.to_s =~ /(.*)_before_type_cast$/)
send($1)
end
end
def self.append_features(base)
super
base.send(:include, ActiveRecord::Validations)
end
end
然后在你的model下面
class Logo < ActiveRecord::Base
include Validateable
attr_accessor :size
validates_presence_of :size
validates_presence_of :name
file_column :photo, :magick => {
:versions => { "thumb" => "235x90>", "medium" => "640x480>" }
}
end
然后在页面
<%= error_messages_for :logo %>
<% form_for :logo,@logo,:url => {:action => :create},:html => {:multipart => true} do |f| %>
name:<%= text_field :logo, :name %><br>
size:<%= f.text_field :size %>
<label>照片:</label>
<%= file_column_field 'logo', 'photo' %><br>
<%= submit_tag "提交" %>
<% end %>
最后空白提交,报错
There were problems with the following fields:
- Name can't be blank
- Size can't be blank
分享到:
相关推荐
"scala-activerecord-specs_2.9.2-0.2.3.zip" 这个标题表明我们正在处理一个与Scala Activerecord相关的软件包,具体是版本为0.2.3的规格测试部分,适用于Scala 2.9.2。"specs"通常指的是软件的规范或测试套件,意味...
state_machines-activerecord, StateMachines Active Record 集成 StateMachines Active Record 集成Active Record 4.1 集成添加对数据库事务的支持,自动保存记录,命名范围,验证错误。依赖项Active Record 4.1 ...
Scala ActiveRecord scala-activerecord是Scala的ORM库。 该库的灵感来自Ruby on Rails的ActiveRecord。 它是按照CoC(配置公约),DRY(请勿重复自己)的原则设计的。 最小的例子 样本片段: 模型实施: ...
3. 关联映射:支持一对多、一对一、多对多等复杂的数据库关联关系,通过定义对象之间的关联,可以方便地进行关联查询。 4. 动态查询:允许开发者使用类似Java的方法调用来构建复杂的查询条件,无需拼接SQL字符串。 5...
在`activerecord-bitemporal-master`这个压缩包中,可能包含了实现BiTemporal模型所需的代码示例、库文件或者教程。通常,这些文件可能包括以下部分: 1. `lib/`: 存放自定义的ActiveRecord扩展或模型混入模块,...
在Ruby开发中,ORM(对象关系映射)框架如ActiveRecord极大地简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库交互。而`ActsAsParanoid`是针对ActiveRecord的一个插件,它提供了一种非常实用的功能...
Scala ActiveRecord示例 控制台应用程序样本 cd sample/ sbt > run Scalatra样本 cd scalatra/ sbt > jetty:start 该应用程序从。 Scalatra样本(多模式) cd scalatra-multiple-schema/ sbt > jetty:start 该...
在本主题中,我们将深入探讨如何使用SQLAlchemy实现类似Active Record的模式,以及如何进行嵌套式加载和美化`__repr__`方法来提升代码的可读性。 首先,Active Record是Ruby on Rails中的一个概念,它将数据库记录...
Rubycas::Server::Activerecord 用于 RubyCAS 服务器核心 (RubyCAS2.0) 的 ActiveRecord 适配器 安装 将此行添加到应用程序的 Gemfile 中: gem 'rubycas-server-activerecord' 然后执行: $ bundle 或者自己...
ActiveRecord继承 ... " jlorente/yii2-activerecord-inheritance " : " * " } 到composer.json文件的require部分。 用法 用法示例可能是: 假设您具有以下架构。 CREATE TABLE ` user ` ( ` id ` int ( 11 )
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
主动记录一种轻松使用ActiveRecord的简便方法。 可与Grape,Sinatra,普通的旧机架甚至是无聊的小脚本一起使用!。 默认值都是非常Railsy的( config/database.yml , db/seeds.rb , db/migrate等),但是您可以...
工作流活动记录 工作流库的 ActiveRecord/Rails 集成 ...使用 ActiveRecord 进行状态持久化 工作流库可以完全自动处理状态持久性。 您只需要在名为workflow_state的表上定义一个字符串字段,并像往常一样在模型类中包含
如果您使用的库使用Sequel进行数据库交互(例如或 ),但是要避免创建单独的数据库连接,则此方法很有用。或者,如果您要从ActiveRecord过渡到Sequel,并希望共享数据库连接。 它可以在ActiveRecord 4.2+上运行,并...
为提供数据存储,由 ActiveRecord 支持。 需要使用 Dragonfly 1.0+ 的 Rails 应用程序。 经 MRI 1.9.3、2.0、2.1 测试; ActiveRecord 3.2 和 4.0; 和 MySQL、PostgreSQL 和 SQLite 存储。 用例 如果您的应用...