0

レンダリングに特定のパラメータ「has_footer」が含まれている場合、パーシャルのセクションを条件付きでレンダリングしようとしています。

_modal.html.erbには、次のものがあります。

<div id="<%= id %>" class="modal hide fade" tabindex="-1" role="dialog" aria-hidden="true">
  <div class="modal-header">
    <button type="button" class="btn-modal-close" data-dismiss="modal" aria-hidden="true">×</button>
    <header><%= title %></header>
  </div>
  <div class="modal-body">
    <%= render partial: content %>
  </div>
  <% if params[:has_footer] %>
    <div class="modal-footer">
      <button class="btn-modal-save">Save</button>
      <button class="btn-modal-cancel" data-dismiss="modal" aria-hidden="true">Cancel</button>
    </div>
  <% end %>
</div>

そして、私はこのようにパーシャルをレンダリングします:

<%= render "pages/modal", :has_footer, id: "modal-add-campaign", title: "Add Campaign", content: "pages/modal_add_campaign" %>

基本的に、レンダリングコマンドに「:has_footer」パラメータを含めた場合にのみ、div「modal-footer」を表示したいと思います。

何か助けてください?

4

1 に答える 1

1

パーシャルに渡される変数は、ローカル変数のように扱われます。だから私は次のようなことをします:

<%= render :partial => "pages/modal", locals: { has_footer: true, id: "modal-add-campaign", title: "Add Campaign", content: "pages/modal_add_campaign" } %>

そして、次のように変数を確認します。

if has_footer
于 2013-03-12T19:29:00.153 に答える