2012-04-20 2 views
0

В Грааль я это делаю:шаблонов Построить в представлениях

<form:windowEntrada domain="serverPool"> 
    <form:entrada domain="serverLocation" bean="${serverPoolInstance}"> 
     <form:textField label="serverPool.name" name="name" /> 
     <form:select label="serverPool.server" name="server" list="${Servers.list()}"/> 
    </form:entrada> 
</form:windowEntrada> 

Тега "форма: TextField" делает что-то вроде:

<div class='field-name'> 
    <div class="title"><label for="name">Name</label>(* required)</div> 
    <div class="fieldcontent"><input type="text" name="name" value="smtg"></div> 
    <div class="error">If thereis an error on this field, the message appears here</div> 
</div> 

тега "формы: windowEntrada" делает что-то вроде:

<div class='container'> 
    <h1>My title here</h1> 
    <div class="content">${body()}</div> 
</div> 

тег "форма: Энтрада" делают что-то вроде:

<form action ... > 
    <....> --> messages stuff 
    ${body()} 
    <div class="action-buttons"> 
     <input type="submit" name="lala"> 
     <input type="submit" name="lala2"> 
    </div> 
</div> 

Как я могу использовать i rails, используя erb как свою технику просмотра?

спасибо.

+0

Я нашел ответ здесь: http://pathfindersoftware.com/2008/07/pretty-blocks-in-rails-views/ –

+0

Поэтому, пожалуйста, добавить, что в качестве ответа, и принять его позже. Это будет более заметным, чем ваш комментарий ... – mliebelt

+0

Я пробовал, но у меня нет репутации, чтобы это сделать. = ( –

ответ

1

Я нашел ответ здесь: pathfindersoftware.com/2008/07/pretty-blocks-in-rails-views

Вот пример применения учебника:

В Еврорадио:

<%= widget("mytitle", {:class => "widget-table"}) do %> 
    test test test 
<% end %> 

в помощнике:

def widget(title, options = {}, &block) 
    options[:params] = params 
    options[:controller_name] = controller.controller_name 

    body = capture &block 

    html = render "shared/form/widget", :body => body, 
             :title => title, 
             :options => options 

    return html 
end 

и шаблон _widget.html.erb:

<div class="widget <%= options[:class] unless options[:class].blank? %>"> 
    <% unless title.blank? %> 
    <div class="widget-header"> 
     <span class="icon-layers"></span> 
     <h3><%= title %></h3> 
    </div> 
    <% end %> 
    <div class="widget-content"> 
     <%= body%> 
    </div> 
</div> 

ТКС

+0

Я завершил ответ с тем, что сделал. –