为什么"创造!"而不是创造?

时间:2015-05-21 20:39:55

标签: ruby-on-rails rspec

我试图在他们的https://github.com/rspec/rspec-rails文件后学习RSpec。但是,他们的样本使用了一个函数创建! RubyMine没有认识到,我也不知道。

它是如何工作的?它是在ActiveRecord基类中实现的吗?

以下是我正在谈论的样本:

require "rails_helper"

RSpec.describe User, :type => :model do
  it "orders by last name" do
    lindeman = User.create!(first_name: "Andy", last_name: "Lindeman")
    chelimsky = User.create!(first_name: "David", last_name: "Chelimsky")

    expect(User.ordered_by_last_name).to eq([chelimsky, lindeman])
  end
end

1 个答案:

答案 0 :(得分:0)

是的,它是一个ActiveRecord方法。

create将返回truefalse。 如果操作失败,create!将引发异常。