Объявите переменную в Link, чтобы Controller загружал отдельный макет в Rails - PullRequest
1 голос
/ 24 января 2012

У меня есть ссылка, которая называет это:

<%=link_to 'Free Trial', '/sign_up', :rel => "#signup", :class => "sign_up_button"%>

, который отображает mysite.com/sign_up - загружает частичку в световой блок Jquery.Однако, что я хотел бы сделать, это иметь оператор контроллера, где, если щелкнуть ссылку выше, он отображает страницу без макета.Но если пользователь переходит на mysite.com/sign_up из адресной строки, он видит ту же страницу, но с разметкой.

Я думаю в моем контроллере что-то вроде этого:

 def sign_up
   if :variable == true
   render :layout => false
   else
   render :layout => 'layouts/sign_up'
   end  
 end

тогда в моей ссылке, объявив переменную, он может перейти к контроллеру?что-то вроде

:variable => 'true'

Я думаю об этом правильно?Как это работает?

Основная причина этого заключается в том, что если mysite.com/login загружается сам по себе (без Jquery), он все равно будет хорошо выглядеть!

Спасибо

1 Ответ

0 голосов
/ 24 января 2012

У вас есть два способа:

  • Вы можете сделать, как вы думаете, и установить свой флаг partial через POST.Замените /signup на /signup?partial=1 и в вашем контроллере if params[:partial]

  • Или вы можете выполнить условный рендеринг, глядя на request.xhr? (но заголовки ajax должны быть правильно установлены вашей js-платформой)

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