2012-04-18 3 views
1

У меня есть метод, называемый по AJAX:Ruby On Rails -: макет => ложь не работает на Apache2

def showplain 
    ............. 
    respond_to do |format| 
     format.html { render :layout => false, :partial => "content"} 
    end 
end 

Это работает в WEBrick, но вызывает ошибку на Apache2 + Phusion Пассажира.

Ошибка:

ActionView :: MissingTemplate (Недостающие шаблон myitems/showplain)

Если я создаю showplain.html.erb:

<%= render :layout => false, :partial => "content" %> 

Он показывает мне полную страницу, С макета, в рамке AJAX.

Он, кажется, игнорирует: layout => false parameter. Как сделать отображение частичным без макета?

match 'myitems/showplain' => 'myitems#showplain', :via => :get 

ответ

1

Был происходящее исключение, прежде чем он пришел, чтобы сделать.

Я написал

begin 
    ......... 
rescue => ex 
    ......... 
end 
render :layout => false, :partial => "content" 

удален showplain.html.erb, и все теперь работает.

0

Вы спешите ознакомиться с AJAX. Чтобы ответить на запрос ajax, вам необходимо использовать формат js для ответа на ваше приложение.

def showplain 
    ............. 
    respond_to do |format| 
     format.html { render :layout => false, :partial => "content"} 
     format.js { render :layout => false, :partial => "content"} 
    end 
end 

И вы вызываете свой маршрут в формате js.

Я надеюсь, что это помогает

+0

Является ли Jj зарезервированным для JavaScript? Я хочу, чтобы метод возвращал часть кода HTML, и он работал с Webrick. – Paul

Смежные вопросы