通过page.replace_html渲染部分并使用布局?

时间:2012-05-02 18:18:13

标签: ruby-on-rails layout modal-dialog render

这是我正在尝试做的事情:

    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

2 个答案:

答案 0 :(得分:1)

参数:布局不能是符号试试

:layout=>'modal'

这假设您在app / views / layouts / modal.html.erb

中有一个布局

答案 1 :(得分:1)

最有可能的是,您需要将其更改为..., :layout => 'modal'

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

#replace_html方法接受#render之类的选项。对于:layout选项,您需要传递true或字符串布局文件名(请参阅the docs for #render)。

layout参数将是app / views / layouts / xyz.html.erb中文件名的'xyz'部分。