2009-09-04 3 views
1

У меня есть модель пользователя и модель профиля.Ограничение просмотра определенных элементов страницы только владельцем профиля?

пользователь has_one :profile
профиль belongs_to :user

На «шоу» вид профиля, есть поле ввода, что только владелец профиля должен видеть. В настоящее время я ограничусь только тем, что может видеть только зарегистрированный пользователь, но мне нужно, чтобы он продолжался и отображался только пользователю, которому принадлежит этот конкретный профиль.

Я использовал следующие, чтобы ограничить представление только зарегистрированным пользователям: <%, если logged_in? %>.

ответ

1

Я просто угадываю здесь, но я предполагаю, что вы используете restful_authentication из-за метода logged_in. Если да, вы можете использовать current_user, чтобы отфильтровать это.

Пример: (при условии, что у вас есть переменная @user)

показать поле
+0

Nice! Это сработало. Благодарю. – MikeH

0

Установите переменную SESSION с именем пользователя, когда пользователь аутентифицирован. Затем, на каждой странице, когда вы проверяете, установлен ли сеанс, проверьте, имеет ли этот пользователь (как указано в переменной сеанса) доступ к тому, что эта страница содержит ИЛИ, отображает только ту часть, к которой имеет доступ только тот пользователь.

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