То, что вы хотите, являются частичными. Извлеките общую разметку, которую оба представления будут использовать в один файл, и добавьте к его имени знак подчеркивания. Затем вызовите 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 , а не помочь вам сделать это неправильно.