【问题标题】:Ruby On Rails ActiveRecord model not showing "blacklist" fieldRuby On Rails ActiveRecord 模型未显示“黑名单”字段
【发布时间】:2010-02-26 04:50:39
【问题描述】:

所以我正在尝试用 Ruby 粗略设计一个设计,所以我运行了

ruby script/generate scaffold item name:string description:text model:string manufacturers_name:string category:string weight:decimal upc:string ebay_cat_id:string blacklist:bool in_discovery:bool archived:bool

唯一的问题是模型上没有布尔字段。如果我使用 ruby​​ script/consol 并运行

item = Item.new

我明白了

#<Item id: nil, name: nil, description: nil, model: nil, manufacturers_name: nil, category: nil, weight: nil, upc: nil, ebay_cat_id: nil, created_at: nil, updated_at: nil>

对象上显示的字段数量是否有限制?我知道这些字段是在数据库中创建的...仔细检查一下。

想想日期时间戳也不在对象上。对我有什么提示吗?我必须为这些手动编写访问器还是什么?

【问题讨论】:

    标签: ruby-on-rails activerecord sqlite


    【解决方案1】:

    你试过了吗:

    blacklist:boolean
    

    看起来你必须声明全名,文档说:

    为表实例化一个新列。 type 参数通常是迁移原生类型之一,它是以下之一::primary_key:string:text:integer:float:decimal:datetime:timestamp:time:date:binary:boolean

    就像你不能使用int一样,你必须声明integer

    要回答您问题的第二部分,是的!您可能拥有的列数有一个限制,即 4096。

    很可能,一旦解释器点击“bool”,它就会取消后面的列名和类型,这就是为什么您可能会丢失时间戳等等。

    【讨论】:

    • 谢谢...我想我只是错过了。再次感谢。
    • 它只是默默地死去,这对我来说似乎很奇怪......或者在我没有检查的地方有日志吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-20
    • 2017-12-28
    • 1970-01-01
    • 2015-06-08
    • 1970-01-01
    相关资源
    最近更新 更多