Module: Waves::Helpers::Model

Included in:
Extended, Renderers::Haml::Scope
Defined in:
lib/helpers/model.rb

Overview

Model helpers allow you to directly access a model from within a view. This is useful when creating things like select boxes that need data from anther model. For example, a Markaby select box for authors might look like:

select do
  all(:user).each do |user|
    option user.full_name, :value => user.id
  end
end

You could also use these within a view class to keep model-based logic out of the templates themselves. For example, in the view class you might define a method called authors that returns an array of name / id pairs. This could then be called from the template instead of the model helper.

Instance Method Summary collapse

Instance Method Details

#all(model) ⇒ Object

Just like model.all. Returns all the instances of that model.



26
27
28
# File 'lib/helpers/model.rb', line 26

def all( model )
  model( model ).all
end

#find(model, name) ⇒ Object

Finds a specific instance using the name field



31
32
33
# File 'lib/helpers/model.rb', line 31

def find( model, name )
  model( model )[name ] rescue nil
end

#model(name) ⇒ Object



21
22
23
# File 'lib/helpers/model.rb', line 21

def model( name )
  Waves.main::Models[ name ][ domain ]
end