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>

タグ「form: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>

タグ「form:windowEntrada」は次のようにレンダリングします。

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

タグ「form:entrada」は次のようにレンダリングします。

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

ビューテクノロジーとしてerbを使用してレールを作成するにはどうすればよいですか?

ありがとうございました。

4

1 に答える 1

1

ここで答えを見つけました:pathfindersoftware.com/2008/07/pretty-blocks-in-rails-views

チュートリアルを適用した例を次に示します。

ERB では:

<%= 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>

tks

于 2012-04-21T04:34:32.923 に答える