2

Link У меня есть модель в Sinatra приложениеКак защитить массовое присвоение приложения Sinatra с помощью Datamapper?

class Link 
    include DataMapper::Resource 
    has n, :views 

    validates_presence_of :url, 
    message: "You must specify a URL." 
    validates_length_of :url, 
    maximum: 4096, 
    allow_blank: true, 
    message: "That URL is too long." 
    validates_format_of :url, 
    with: %r{^(https?|ftp)://.+}i, 
    allow_blank: true, 
    message: "The URL must start with http://, https://, or ftp:// ." 

    property :id,   Serial 
    property :url,  String 
    property :token,  String 
    property :created_at, DateTime 
end 

Как создать что-то вроде attr_accessible :url, :token?

+0

Вот способ: http://kellishaver.tumblr.com/post/15802062803/mass-assignment-protection-datamapper-and-sinatra –

+0

@regedarek Я полагаю, вы имеете в виду 'attr_accessible' вместо' attr_accessor' , – toro2k

ответ

0

Вы можете использовать модуль DataMapper::MassAssignmentSecurity из драгоценного камня dm-rails.

class Link 

    include DataMapper::Resource 
    include DataMapper::MassAssignmentSecurity 
    attr_accessible :url, :token 

    # ... 

end