визуализировать HTML-содержимое действия контроллера внутри div - PullRequest
0 голосов
/ 09 июня 2011

Я хотел бы отобразить содержимое действия (например, new_sub_batch) внутри div.

Я пытался

<div id="newBatch">
<%= render :template => 'new_sub_batch.html.erb' %> 
</div>

, но ничего не отображается.

Iдаже попробовал <%= render :action => 'new_sub_batch' %> .. все еще ничего.

Любое предложение ??

Большое спасибо

Ответы [ 2 ]

3 голосов
/ 09 июня 2011

То, что вы хотите, являются частичными. Извлеките общую разметку, которую оба представления будут использовать в один файл, и добавьте к его имени знак подчеркивания. Затем вызовите render :partial => 'filename', где filename - это имя партиала без подчеркивания.

В вашем случае код, извлеченный из new_sub_batch.html.erb, может находиться в частичном _batch.html.erb в том же каталоге, что и другие виды sub_batch. Вы могли бы сделать это частично с:

render :partial => 'batch'

В Rails3 вы можете просто использовать render 'batch'.

Если вы хотите передать переменную в частичное, вы можете сделать это через :locals. Если у вас есть переменная @sub_batch, которую вы хотите передать, ваш вызов будет выглядеть примерно так:

render :partial => 'batch', :locals => { :sub_batch => @sub_batch }

Хотя это не дает точного ответа на ваш вопрос, я думаю, что в теге ruby-on-rails более важно объяснить Rails Way , а не помочь вам сделать это неправильно.

0 голосов
/ 09 июня 2011

Попробуйте сделать файл рендера:

<div id="newBatch">
<%= render :file => 'directory/new_sub_batch.html.erb' %> 
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...