Визуализация: частично с: макет не работает в поле зрения - PullRequest
7 голосов
/ 03 апреля 2011

, поэтому у меня проблема с :partial рендерингом ...

У меня:

index.html.erb просмотр с содержанием <%= render :partial => 'partial_test', :layout => 'partial_test' %> index.html.erb' layout with content of <% = yield%>`

_partial_test.html.erb представление с содержимым простой строки _partial_test.html.erb макет с содержимым <div id="_partial"><%= yield %></div>

После рендеринга я получаю надлежащий контент из действия индекса (view + layout) контроллера, но изчастичное рендеринг я получаю только контент из вида, макет отсутствует.

Я должен получить что-то вроде этого: <div id="index"> <div id="_partial"> simple string </div> </div>

но я получаю <div id="index"> simple string </div>

Этостранно, потому что когда я рендерим частичное с макетом изнутри действия индекса контроллера, я получаю правильную визуализацию view + layout (только для частичного).

Требуется помощь:)

Ответы [ 2 ]

16 голосов
/ 04 апреля 2011

Вместо использования

<%= render :partial => 'partial_test', :layout => 'partial_test' %>

что мне нужно было использовать

<%= render :partial => 'partial_test', :layout => 'layouts/partial_test' %>

0 голосов
/ 04 апреля 2011

Когда я читаю документы Rails, вы не хотите:

<%= render :partial => 'partial_test', :layout => 'partial_test' %>

Вы хотите:

<%= render 'partial_test', :layout => 'partial_test' %>

Я не уверен, как / почему ваш макет и частичное имя имеют одно и то же имя, но, пожалуйста, посмотрите Руководство по Rails: http://guides.rubyonrails.org/layouts_and_rendering.html, Раздел 3.4.3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...