Screencast: ActiveAttr in eigenen Klassen verwenden

Die Entwickler von ActiveAttr sagen, dass ihr Plugin die Dinge zur Verfügung stellt, welche nicht von ActiveModel geliefert werden. Das Plugin bietet wirklich einige interessante Ansätze und erleichtert die Arbeit mit selbst-erstellen Modelen um einiges. Ryan zeigt in diesem Screencast wie es zum Beispiel in Modelen ohne zugehörige Datenbank-Tabelle eingesetzt werden kann.

 

Downloads in verschiedenen Formaten:

mp4
m4v
webm
ogg

 

Resourcen:

Gemfile

[ruby]
gem ‚active_attr‘
[/ruby]

models/message.rb

[ruby]
class Message
include ActiveAttr::Model

attribute :name
attribute :email
attribute :content
attribute :priority # type: Integer, default: 0

attr_accessible :name, :email, :content
validates_presence_of :name
validates_format_of :email, :with => /^[-a-z0-9_+.]+@([-a-z0-9]+.)+[a-z0-9]{2,4}$/i
validates_length_of :content, :maximum => 500
end
[/ruby]

rails console

[ruby]
m = Message.new(priority: 1)
m.priority
m.priority = 1
m.priority?
[/ruby]

controllers/messages_controller.rb

[ruby]
def new
@message = Message.new
end

def create
@message = Message.new(params[:message])
if @message.valid?
# TODO send message here
redirect_to root_url, notice: "Message sent! Thank you for contacting us."
else
render "new"
end
end
[/ruby]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.