Rails принимает условия перед созданием - PullRequest
0 голосов
/ 24 марта 2012

Скажем, прежде чем пользователю будет разрешено просматривать страницу создания модели, он должен принять некоторые условия. Рабочий процесс будет выглядеть так:

Пользователь нажимает кнопку «создать МОДЕЛЬ» -> «Переведено на страницу терминов», должен принять, прежде чем перейти -> страница создания МОДЕЛИ

Если пользователь копирует URL-адрес на страницу создания, он должен быть перенаправлен на страницу условий.

Какой лучший способ сделать это? Я как-то думал об использовании переменной session ... но не могу придумать достаточно умной идеи. Есть предложения?

Ответы [ 2 ]

1 голос
/ 24 марта 2012

У вас могут быть следующие маршруты:

get 'terms' => 'MODEL#terms'
get 'new' => 'MODEL#terms'
post 'new' => 'MODEL#new'

"Create MODEL" должен отправить запрос GET для / term.Принятие условий должно POST к / new.Если пользователь вставил / новый в URL, он вместо этого будет перенаправлен на термины.

В качестве альтернативы (или дополнительно) вы можете задать переменную / term POST :terms_accepted => true на странице создания МОДЕЛИи на этой странице отметьте if :terms_accepted == true.Если нет, перенаправьте на страницу условий.

1 голос
/ 24 марта 2012

Вы можете добавить принятие условий к самой модели, тогда вам не понадобится конструкция с дополнительной страницей и перенаправление, если кто-то входит в неправильное место. Вместо этого пользователь может отправить форму для создания, только когда он / она принимает условия.

Вы можете добавить следующее к модели:

class Model < ActiveRecord::Base
    validates :terms_of_service, :acceptance => true
end

И затем убедитесь, что у вас есть флажок для этого в новой форме% {model}.

См. Также: http://guides.rubyonrails.org/active_record_validations_callbacks.html#acceptance и Принять условия использования рельсов

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