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

rails的create与create!和save与save!的区别

阅读更多

 

很无语弄了一下午的rails console 

本想用console插入一些records

结果一直不能,总是出现rollback提示

以为是数据库 mysql的问题,又查看了mysql自动提交,事务隔离界别等

但是一直还是没解决问题..

最后 终于知道了.. 怎么知道的过程就不记得了

 

原来是 自己写的model有好多validates..从来没遇到过这种情况以至于一直rollback却不知道自己插入数据并不符合自己的条件

 

一直使用的是 save方法 和 create方法

但是文档上写着:

By default, save always run validations. If any of them fail the action is cancelled and save returns false. However, if you supply :validate => false, validations are bypassed altogether. 

 

With save! validations always run. If any of them fail ActiveRecord::RecordInvalid gets raised

 

而且明确说明是需要validates的

同理 create和create!也是

 

 

0
0
分享到:
评论

相关推荐

    rails向导打包

    文件中会介绍 `validates` 方法的不同校验选项,如 `presence`、`uniqueness` 和 `format`,以及 `before_save`、`after_create` 等回调方法。 3. **深入浅出说路由**: 路由是 Rails 应用的心脏,定义了 URL 如何...

    使用Rails上传和转换视频

    在Ruby on Rails(Rails)框架中,上传和转换视频是一个常见的需求,特别是在构建涉及多媒体内容的Web应用时。Rails提供了一系列工具和库,使得开发者能够方便地处理这种任务。本篇文章将详细介绍如何在Rails中实现...

    rails上传文件_paperclip

    Paperclip与ActiveRecord紧密集成,使得在Rails应用中添加文件上传功能变得相当便捷。 **Paperclip的基本使用** 1. **安装与配置** 首先,你需要通过Gemfile来安装Paperclip,并运行`bundle install`命令: ```...

    rails ajax提交文件或图片

    在Rails框架中,AJAX(Asynchronous JavaScript and XML)是一种常用的技术,用于创建动态和交互式的Web应用程序。AJAX允许页面在不刷新整个页面的情况下与服务器进行通信,从而提高用户体验。在本篇博文中,我们将...

    ruby on rails 实例代码

    在本实例代码中,我们将深入探讨如何利用Rails进行数据库操作,包括对数据的增加、删除、修改和查询,也就是常说的CRUD(Create, Read, Update, Delete)操作。 首先,Rails使用ActiveRecord作为其ORM(对象关系...

    使用rails编写REST风格的web应用

    RESTful控制器通常包含与资源操作对应的行动,如`new`、`create`、`show`、`edit`、`update`和`destroy`。 3. **模型**:模型代表数据库中的数据实体,负责数据的验证、关联和业务逻辑。在REST上下文中,模型处理...

    rails22新添功能.pdf

    例如,可以通过运行`rake doc:guides`命令自动生成包含各种指南的文档目录,这些文档涵盖了Rails的核心概念和最佳实践。 ##### ActiveRecord的新特性 1. **关联验证**: 在Rails 2.2中,可以控制是否验证关联对象的...

    ruby on rails 3.1.0数据库查询方法汇总

    - `create` 方法与 `save` 类似,但不同的是 `create` 在执行时直接将数据插入数据库,不需要再调用 `save` 方法。 - **注意**:`create!` 同样存在,其行为类似于 `save!`。 3. **跳过验证**: - `b.save(:...

    Pro Active Record. Databases with Ruby and Rails

    3. **验证与回调**:掌握模型验证,确保数据的完整性和一致性,同时理解回调机制,如before_save、after_create等,以便在数据保存前后执行特定操作。 4. **关联**:深入研究Active Record的各种关联类型,如has_...

    rails-create-action-readme-v-000

    save 使用此语法,您可以手动创建带有title和description属性的新过Post记录。 在控制台中运行save方法之后,您将看到类似于以下内容的输出: (0.1ms) begin transactionSQL (0.3ms) INSERT INTO " posts " ( " ...

    rails2.0下实现《rubyonrails》中的mybook实例

    它们提供了Rails应用与SQLite数据库通信的桥梁,使我们能够在开发过程中轻松管理和操作数据。通过配置Gemfile,设置数据库配置,创建模型和迁移,我们可以构建出一个完整的基于SQLite的Ruby on Rails应用,如`mybook...

    rails 文件上传

    Rails提供了一种优雅的方式来处理文件上传,包括存储管理、处理和验证。这篇博文“rails 文件上传”可能详细介绍了如何在Rails应用中实现这个功能。 首先,我们需要了解的是`ActionDispatch::Http::UploadedFile`类...

    rails 邮件支持

    if @user.save UserMailer.welcome_email(@user).deliver_now # 或者使用 deliver_later 异步发送邮件 # UserMailer.welcome_email(@user).deliver_later flash[:success] = '欢迎注册!请查收邮件以完成验证。...

    浅谈Rails 4 中Strong Parameters机制

    要弄明白Rails 4 中Strong Parameters机制,首先我们要看看Rails3中的Parameters 在 Rails3 中创建或更新 Active Record 对象时,会有 Mass Assignment 安全问题。所以 Model 中需要列一个白名单,声明哪些属性可以...

    Rails里给文件上传添加progress_bar

    这里我们以jQuery File Upload为例,它与Rails的集成相对简单。 1. **安装jQuery和jQuery File Upload** 在`Gemfile`中添加`jquery-rails` gem,然后运行`bundle install`。接着,在`app/assets/javascripts/...

    Ruby on Rails实现最基本的用户注册和登录功能的教程

    通过以上步骤,我们已经成功地使用Ruby on Rails和`has_secure_password`特性实现了用户注册与登录的基本功能。这种方法不仅简洁高效,而且安全性较高,适用于大多数Web应用程序的需求。在实际开发过程中,还可以...

    rails3.1.0解决数据库取出来的信息编码为utf-8

    标签 "源码 工具" 提示我们关注的是与代码和开发工具相关的解决方案,上述方法都是在Rails源码环境中操作的,涉及数据库配置、模型、迁移以及视图编码。 至于提供的文件 "image_scroller.js",由于它是一个...

    Rails扩展框架Trailblazer.zip

    Trailblazer 是基于 Rails 的一个瘦的封装层,加强了代码的封装使用,更直观的代码结构和面向对象架构。是一种概念驱动的架构模型,项目目录如下: app├── concepts│ ├── comment│ │ ├── cell.rb│ ...

    Rails GUI Development with Ext JS 10-Jan-08 RUG-B.pdf

    Rails GUI 开发与 Ext JS 的结合是一种将 Ruby on Rails(简称 Rails)的后端能力与 Ext JS 的前端界面设计能力相结合的技术方案。Rails 是一个用于 Web 开发的模型-视图-控制器(MVC)框架,而 Ext JS 是一个功能...

Global site tag (gtag.js) - Google Analytics