Частичный вход в Rails в другом контроллере - PullRequest
0 голосов
/ 22 февраля 2011

Эй, Я довольно новичок в рельсах и для изучения эффекта, я пытаюсь реализовать свою собственную систему авторизации. Прямо сейчас у меня есть Контроллер страниц для управления некоторыми статическими страницами и ничего более, и Контроллер сеансов, где я планирую реализовать большую часть процесса авторизации.

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

Это указано с этим http://ruby.railstutorial.org/chapters/sign-in-sign-out#top, но я не хочу этого на дополнительной странице.

поэтому я попытался установить маршруты и получил исключение «путь не найден для« / »», как только я удалил «resources: session», он снова заработал.

мой частичный выглядит так:

<%= form_for(User.new) do |f| %>
  <%= f.submit "Login" %>
<% end %>

есть также блок div class = "action" вокруг отправки, но он не может найти, как его избежать

это входит в мой дом через

<%= render 'sessions/new' %>

Спасибо за вашу помощь

изменить мое решение: Я добавил в route.rb:

resources :sessions

Кроме того, я изменил form_for (@user) на

<%= form_for(:session, url => sessions_path)

так что это работает.

Ответы [ 2 ]

0 голосов
/ 22 февраля 2011

Вы пытались поместить свои функции и все для аутентификации в файл Session Helpers? Затем, в вашем Application Controller, если вы добавите «include SessionsHelper», это даст вам доступ ко всем вспомогательным функциям из Session, которые вам нужны

0 голосов
/ 22 февраля 2011

Я настоятельно рекомендую вам взглянуть на Railscast http://railscasts.com/episodes/250-authentication-from-scratch, он даст вам представление о том, как создать аутентификацию, не забывая о некоторых важных шагах.

Тогда вы можете использовать gem devise, который является отличным камнем аутентификации.

...