gpt4 book ai didi

ruby-on-rails - 在Rspec和Rails中验证 bool 值

转载 作者:行者123 更新时间:2023-12-04 04:08:23 26 4
gpt4 key购买 nike

我很困惑如何在Rspec和Rails中验证 bool 值。我了解Ruby中falsenil以外的所有内容都被视为true。但是,当我将MySQL与Rails一起使用时,它将1用作true,将0用作false(如果我的理解是正确的话)。

我有以下型号规范。我想测试superuser属性的 bool 值。

  • 我如何在此处编写规范?
  • 如何在此处编写实现代码?
  • 我的规范和实现代码是否特定于特定的数据库(例如MySQL和PostgreSQL)?
    require 'spec_helper'
    describe User do
    before(:each) do
    @valid_attributes = {
    :username => "mike",
    :password => "super_encryped_password",
    :email => "mike@example.com",
    :superuser => true
    }
    end

    it "should create a new instance given valid attributes" do
    User.create!(@valid_attributes)
    end

    it "should have true or false for superuser" do
    @valid_attributes[:superuser] = "hello"
    User.new(@valid_attributes).should have(1).error_on(:superuser)
    end
    end
  • 最佳答案

    重要的一件事是ActiveRecord在幕后进行类型转换,因此您不必担心数据库如何存储 bool 值。只要在准备迁移时将字段设置为 bool 值,您甚至无需验证该字段是否为 bool 值。您可能要确保该字段不是nil,但在模型类中带有validates_presence_of :superuser声明。

    关于ruby-on-rails - 在Rspec和Rails中验证 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3648619/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com