0

これが私がやろうとしていることです:

    page.replace_html('manage_categories_list', :partial => "/categories/categories", :layout => :modal)

しかし、上記のコードでこのエラーが発生します。

NoMethodError (undefined method `include?' for :modal:Symbol):

私がやりたいのは、モーダルダイアログウィンドウ用のテンプレートHTMLを用意することです。そして、そのモーダルのヘッダー(h2)と本体(div)をパーシャルで設定します。= \

modal.html.erb:

<div class="fixed_modal">
    <div class="modal_header">
        <%= yield :header %>
    </div>
    <div class="modal_body">
        <%= yield %>
    </div>
</div>

私がレンダリングしようとしているパーシャル:

<% content_for :header do %>
    Manage Categories
<% end %>

....残りは、利回りに入るだけなので問題ではありません

レール2.3.14を使用しています

4

2 に答える 2

1

:layoutへの引数をシンボルにすることはできませんtry

:layout=>'modal'

これは、app / views / layouts/modal.html.erbにレイアウトがあることを前提としています

于 2012-05-02T18:26:48.923 に答える
1

ほとんどの場合、次のように変更する必要があります..., :layout => 'modal'

page.replace_html('manage_categories_list', :partial => "/categories/categories", :layout => :modal)

#replace_htmlメソッドは、#renderなどのオプションを受け入れます。:layoutオプションの場合、渡すtrueか、文字列レイアウトファイル名を渡す必要があります(#renderのドキュメントを参照してください)。

レイアウト引数は、app / views / layouts/xyz.html.erbのファイル名の「xyz」部分になります。

于 2012-05-02T18:30:52.810 に答える