【问题标题】:Data-Mapper Under passenger and ruby 1.8Data-Mapper 在乘客和红宝石 1.8 下
【发布时间】:2012-10-02 18:58:06
【问题描述】:

使用在乘客和 ruby​​ 1.8 上运行的数据映射器声明字段需要时,我的 sinatra 应用程序显示错误

错误:Person:Class 的未定义局部变量或方法“必需”

class Person
include DataMapper::Resource
property :id, Serial
property :salutation, String 
property :first_name, String , required => true 
property :last_name, String , required => true 
property :email, String , required => true, :format => :email_address 
property :phone, String , required => true
property :dob, String 
property :no_of_guests, String , required => true
property :attending, String, required => true

property :created_at, DateTime
end

这是 datamapper 和 ruby​​ 1.8 的问题,还是乘客或我标记所需属性的方式?

【问题讨论】:

    标签: ruby sinatra ruby-datamapper


    【解决方案1】:

    required必须是一个符号(:required):

    class Person
    include DataMapper::Resource
    property :id, Serial
    property :salutation, String 
    property :first_name, String , :required => true 
    property :last_name, String , :required => true 
    property :email, String , :required => true, :format => :email_address 
    property :phone, String , :required => true
    property :dob, String 
    property :no_of_guests, String , :required => true
    property :attending, String, :required => true
    
    property :created_at, DateTime
    end
    

    【讨论】:

    • 天哪。谢谢你。我也这样做了: validates_presence_of :email, :last_name, :phone etc
    • 这是一个常见的错误,如果您不习惯,可能需要几个小时才能弄清楚。使用 freenode 上的#datamapper 频道获得更快的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多