Objective: To add validation for product input
1. add validation for product
class Product < ActiveRecord::Base
validates_presence_of :title, :description, :image_url
validates_numericality_of :price
validate :price_must_be_at_least_a_cent
validates_uniqueness_of :title
validates_format_of :image_url,
:with => %r{\.(gif|jpg|png)$}i,
:message => 'must be a URL for GIF, JPG ' + 'or PNG image.(gif|jpg|png)'
protected
def price_must_be_at_least_a_cent
errors.add(:price, 'should be at least 0.01') if price.nil? ||
price < 0.01
end
end
2.
That is it?! That is it!!! Just try it, you even do not need to restart server! ,my dear J2EE...
分享到:
- 2008-06-24 14:49
- 浏览 1257
- 评论(0)
- 论坛回复 / 浏览 (0 / 1565)
- 查看更多
相关推荐
标题中的“Web开发敏捷之道--应用Rails进行敏捷Web开发 之 Depot代码”表明这是一个关于使用Ruby on Rails框架进行敏捷Web开发的示例项目,名为Depot。Ruby on Rails(简称Rails)是一个开源的Web应用程序框架,它...
3. **ActiveRecord**:Rails中的ActiveRecord是ORM(对象关系映射)库,它允许开发者用Ruby类和对象直接操作数据库,简化了数据库交互。 4. **路由**:Rails的路由系统是连接URL与控制器动作的桥梁,定义了URL模式...
3. **数据库配置**:Rails默认使用SQLite数据库,但你可以通过修改`config/database.yml`文件来选择其他数据库,如MySQL或PostgreSQL。 4. **模型(Models)**:在Rails中,模型代表数据模型和业务逻辑。例如,...
depot教程depot教程depot教程depot教程depot教程depot教程depot教程depot教程depot教程
"depot_tools_2017.3.24(禁止cipd更新)"这个压缩包文件包含了Chromium项目的开发工具集,depot_tools,专为Windows操作系统设计。Chromium是一个开源的浏览器项目,它是Google Chrome的基础,对于Web开发者和...
Depot_tools是Google开发的一套工具集合,主要用于简化开源项目,特别是Chrome和Chromium的源码获取、构建和管理过程。这些工具旨在提供一个统一的命令行接口,使得开发者能够更方便地参与到这些大型项目的开发中。...
自述文件 该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列,缓存服务器,搜索引擎等) 部署说明… 如果您...
"depot源代码"是一个与Rails框架相关的项目,它展示了如何使用Rails进行敏捷Web开发。Rails是Ruby编程语言的一个开源Web应用程序框架,以其MVC(模型-视图-控制器)架构模式著称,用于构建数据库驱动的Web应用。在...
3. GN:GN是Google开发的新一代构建描述语言,它比GYP更强大,能更好地处理大型项目。GN文件定义了源代码的结构,包括源文件、库、目标和依赖关系。 4. `fetch`脚本:`depot_tools`中的`fetch`脚本用于自动化获取和...
depot_tools工具包 https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up
**标题与描述**:本书通过一个名为Depot的应用程序开发案例,详细介绍了如何使用Rails进行增量式开发,逐步完善功能并优化用户体验。 **详细说明**:Depot是一个在线商店应用,通过多个迭代步骤逐步构建和完善功能...
http://src.chromium.org/svn/trunk/tools/third_party/python_26,增加了python和python.bat文件,直接解压到depot_tools文件夹下。
3. **update_depot_tools.bat**:这是一个批处理文件,通常用于更新depot_tools中的所有工具到最新版本,确保开发环境始终与最新代码保持同步。 4. **cipd.bat**:Continuous Integration Package Distribution...
3. 在安装界面,软件包默认处于未选中状态。用户需要回车进入一个更详细的选择界面,再次回车,软件包就会进入选中状态。 4. 接下来,使用Tab键和方向键,用户可以将光标移动到【Actions】菜单,然后选中...
5. **网络限制**:由于Depot_tools中包含了cipd(Chrome Infrastructure Package Delivery),这是一个用于分发和管理依赖项的服务,但在2019.8.3时谷歌已经禁止了其更新。这意味着用户可能无法使用cipd获取最新的...
"VMware-ESXi-7.0U3-18644231-depot.zip" 是一个针对ESXi 7.0 Update 3版本的自定义封装包,它包含了安装和配置ESXi所需的各种组件和定制设置。这个压缩包的目的是为了简化部署过程,同时可能包含特定的硬件驱动和...
RoR-Depot 是一个基于 Ruby on Rails 框架构建的示例项目,它旨在为初学者提供一个学习和实践 Rails 开发的平台。Rails,全称 Ruby on Rails,是由 David Heinemeier Hansson 创建的开源 Web 应用程序框架,它遵循 ...
本教程将引导你从零开始学习Ruby on Rails的开发,通过一个具体的实例项目——Depot应用,让你深入理解Rails的工作原理和开发流程。 首先,让我们深入了解Ruby语言。Ruby是一种动态类型、面向对象的脚本语言,以其...