他の html タグと同様に、Voltのタグには属性を指定することができます。指定した属性はオブジェクトに変換され、コントローラーの initialize メソッドの第一引数として渡されます。標準的な Volt::ModelController の initialize は、そのオブジェクトを #attrs
でアクセス可能なattrs
プロパティに代入します。これによって指定した属性へ容易にアクセスすることが可能になっています。
<:Body>
<ul>
{{ _todos.each do |todo| }}
<:todo name="{{ todo._name }}" />
{{ end }}
</ul>
<:Todo>
<li>{{ attrs.name }}</li>
属性を個別に指定する代わりに、model
属性に Model オブジェクトを指定することもできます。そのモデルはコントローラーの利用するモデルとして設定されます。
<:Body>
<ul>
{{ _todos.each do |todo| }}
<:todo model="{{ todo }}" />
{{ end }}
</ul>
<:Todo>
<li>
{{ _name }} -
{{ if _complete }}
Complete
{{ end }}
</li>