Rails + facebox + authlogic - как? - PullRequest
       11

Rails + facebox + authlogic - как?

0 голосов
/ 09 апреля 2010

на моем веб-сайте Я хочу, чтобы форма входа / регистрации в модальном окне делалась с использованием facebox (плагин jQuery). Что лучше:

  1. Создать представление с одним методом и шаблоном, имеющим форму, и ссылаться на facebox для этого представления.
  2. Создайте статический HTML-файл в общедоступном каталоге и перейдите по ссылке на эту статическую страницу.

Чего я хочу добиться:

  • Простая проверка (например, «имя пользователя уже занято», «подтверждение пароля не совпадает с паролем» и тому подобное).
  • Простая отправка и перенаправление

Я новичок в Rails, я просто знаю о проверке форм в Django, поэтому для Django я бы, вероятно, выбрал вариант 1, но в Ruby это могло бы быть другим.

1 Ответ

1 голос
/ 09 апреля 2010

Если вы хотите, чтобы подтверждение вернулось на страницу регистрации, вы должны сделать ее динамической страницей.

Другая проблема со статической страницей в общедоступном каталоге заключается в том, что все ваши ссылки становятся жестко закодированными, поэтому, если ваше приложение когда-либо живет за пределами корневого домена (например, example.com/app), ссылки в этом статическом файле могут быть неправильными.

Кроме того, если вам когда-либо понадобится переместить ваши изображения на другой хост, вы потеряете преимущества image_tag.

Используйте статические ресурсы только в том случае, если вы знаете, что ничего не изменится и вам нужна скорость. Если ваши динамические страницы слишком медленные, вы можете их кэшировать, или вы, возможно, делаете что-то не так.

ОБНОВЛЕНИЕ: (для адресации первого комментария)

Вы не можете использовать функции rails для создания ваших URL, когда вы находитесь в общей папке. Если вам нужны сгенерированные рельсами URL в вашем javascript, запустите их со страницы просмотра рельсов. Как правило, я буду делать следующее:

В application.html.erb в теге head:

<%= yield :headScripting %>

Затем на странице просмотра, которая вызывает JavaScript:

<% content_for :headScripting do %>
    jQuery().ready(function() {
        jQuery("#placeholder").load("<%= summary_model_path(@model) %>");
    });
<% end %>

Это загрузит сводный текст из действия контроллера модели summary. Это, вероятно, render :text => "summary" или render :layout => false в зависимости от ваших потребностей

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