`
seemoon
  • 浏览: 159099 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

activerecord的save和save!方法

阅读更多
ruby代码风格自由化的程度往往会让java程序员感到疑惑,比如字符串的'gsub'方法,还有一个同胞方法名叫'gsub!',二者区别在于前者只返回sub的结果而不改变执行该方法的字符串本身,后者则同时改变了字符串自身。

如在java中有字符串str,要改变自身的话需要
str=str.substring(x,x)


而ruby中只需
str.gsub!(x,x)


ruby在语言上取巧的地方可见一斑,代码的简洁程度和表达思想上得到了一种提升。

再来引申到activerecord的save和save!方法,二者区别何在呢?save方法如果保存失败的时候,仅返回false结果的,不会抛出异常,属于默默无闻埋头苦干类型;而save!方法则不同,保存失败会抛出异常,save!方法在事务处理当中调用比较合适。
分享到:
评论

相关推荐

    ActiveRecord简单实例_activerecord.zip

    在Ruby on Rails框架中,ActiveRecord是一个至...在实际开发中,熟练掌握ActiveRecord的使用,可以极大地提高开发效率和代码质量。通过实例练习,你可以更深入地理解其工作原理,更好地利用它来构建复杂的Web应用程序。

    activerecord-rescue_from_duplicate:Ruby gem从MySQL,PostgreSQL和Sqlite重复错误中解救出来

    ActiveRecord-RescueFromDuplicate 当尝试插入未通过唯一性验证的记录时,此gem将挽救SQL错误。 它补充:validates_uniqueness_of ,并将添加... , save! 或其他! 方法。 用法 有验证 在所有常规唯一性验证中都添加了

    简单Castle.ActiveRecord.Generator

    3. **数据库操作方法**:这些方法包括`Save()`(用于创建或更新记录)、`Delete()`(删除记录)、`Find()`或`Load()`(查询和加载记录)等。这些方法由 Castle ActiveRecord 提供,使得开发者无需编写SQL即可执行...

    C# Castle.ActiveRecord CS源码示例教程.zip

    在 Winform 应用中,你可以利用 Castle.ActiveRecord 提供的 CRUD(创建、读取、更新、删除)操作方法,轻松地与数据库进行交互。例如: ```csharp using (var session = ActiveRecordMediator<User>....

    Castle ActiveRecord快速入门指南、ActiveRecord帮助文档

    - 提供的 `.chm` 文件是 Castle ActiveRecord 的官方帮助文档,包含了详细的功能说明、示例代码和故障排查指南,是学习和解决问题的重要资源。 通过以上介绍,你可以开始探索 Castle ActiveRecord 并将其应用于...

    Caste ActiveRecord

    然后,可以利用Caste ActiveRecord 提供的方法进行CRUD(创建、读取、更新、删除)操作。例如: ```csharp using (var session = ActiveRecordSession.Create()) { // 创建 var user = new User { Username = ...

    ActiveRecord简单实例代码.zip

    ActiveRecord自动生成getter和setter方法,使得你可以方便地读取和设置模型对象的属性。例如,`user.name = "John"` 和 `puts user.name` 分别用于设置和获取`name`属性。 4. **查询接口** ActiveRecord提供了...

    Castle ActiveRecord 2.0

    - **CRUD 操作**:使用 `Save()`, `Update()`, `Delete()`, `Find()`, `FindAll()` 等方法进行数据的增删改查。 - **查询**:利用 LINQ to NHibernate 或 HQL(Hibernate Query Language)进行复杂查询。 **6. ...

    Castle ActiveRecord 最全的入门CHM帮助文档

    例如,通过调用 Save() 方法保存新对象,Update() 更新已存在的对象,Delete() 删除对象,Find() 或 Load() 用于查询。 6. **查询与检索**:除了基本的 CRUD 操作,Castle ActiveRecord 提供了多种查询方式,如 ...

    ASP.NET源码——ActiveRecord简单实例.zip

    这些类会包含诸如`Save`、`FindById`、`Update`等方法,使得对数据库的操作变得简单直观。 在实际应用中,ActiveRecord模式的使用可以帮助开发者快速开发,因为它们提供了现成的数据库操作接口,减少了手动编写SQL...

    Java的ActiveRecord框架原码及依赖包放出

    // 其他属性和方法 } ``` 在上述代码中,`get`和`set`方法用于访问和修改对象的属性,它们对应于数据库表中的列。通过这样的封装,你可以直接操作`User`对象,而无需直接写SQL。 对于更复杂的查询,你可以重写`...

    ASP源码—实现ActiveRecord数据查询更新 v1.0.zip

    4. **ActiveRecord的实现**:在ASP中实现ActiveRecord,可能包括创建基类,该基类包含连接数据库、执行SQL、获取和设置字段值的方法。子类将继承这个基类,并为每个表定义属性,这些属性对应于数据库表的列。这样,...

    ASP实现ActiveRecord数据查询更新 v1.0-ASP源码.zip

    在这个"ASP实现ActiveRecord数据查询更新 v1.0-ASP源码.zip"的压缩包中,我们可以预期包含了一些实现ActiveRecord模式的ASP源码,用于处理数据查询和更新操作。 ActiveRecord模式的核心思想是将数据库表映射为对象...

    PetShop_Model_DAL.rar_CASTLE_Castle mod_activeRecord_castle d

    通过学习和研究这个项目,开发者可以掌握如何利用Castle ActiveRecord简化数据库操作,实现对象关系映射,以及更好地理解在实际项目中如何组织和管理数据层代码。这不仅对于提升个人技能,对于团队协作和项目维护都...

    基于ActiveRecord思想开发的至简化的java的Orm框架.zip

    例如,调用save()方法可保存对象到数据库,delete()方法可删除对象对应的记录等。 3. **事务管理**:ORM框架通常包含事务处理功能,可以方便地进行事务的开始、提交、回滚操作,确保数据的一致性。 4. **查询语言*...

    使用公钥加密保护ActiveRecord属性.zip

    3. **定义加密的ActiveRecord属性**:在你的模型文件中,使用`strongbox_attribute`方法指定需要加密的属性。例如: ```ruby class User strongbox_attribute :password end ``` 这将自动处理密码字段的加密...

    Yii 2中的load()和save()示例详解

    以上所述的概念和方法都是Yii 2中进行模型数据操作的基础知识,通过实例代码和详细解释,希望您能更好地理解和使用Yii 2框架中的load()和save()方法。在开发过程中,熟练掌握这些方法将有助于您编写更加稳定和高效的...

    sneaky-save:允许更新复杂的对象而无需触发验证或回调

    偷偷摸摸的保存 ActiveRecord扩展名。 允许保存记录而无需调用回调和验证。 正在安装 $ gem install sneaky-save 或放入您的gemfile以获取最新版本: ... sneaky_save! 运行规格 克隆仓库 运行bundle

    PHPActiveRecord-开源

    例如,通过 `save` 方法可以保存对象到数据库,`destroy` 方法可以删除对象。 2. **自动的数据库迁移**:PHPActiveRecord 支持数据库迁移,允许开发者在不同的数据库版本之间轻松地进行数据结构的升级或降级。 3. ...

Global site tag (gtag.js) - Google Analytics