Я не совсем уверен, есть ли здесь одна проблема, или я подошел к ней неправильно, но любые предложения будут с благодарностью!
В приложении, когда пользователь регистрируется, получает привилегии и настраивает свою страницу, он может затем пригласить коллег по электронной почте.
Письмо имеет код активации, помеченный в конце. Пример URL будет " / user / new / xxxxxxxxx ".
Вот проблема: Мне нужно, чтобы коллега также мог создать учетную запись пользователя, используя только основную информацию, чтобы он мог войти в учетную запись и настроить свой уголок приложения.
Когда коллега делает ошибку в форме регистрации пользователя, URL-адрес забывает, что есть код активации, и возвращается к сообщениям проверки и довольно пустому URL-адресу «/ users».
Когда коллега исправляет свои ошибки и регистрирует клики, они представляются как полноценный пользователь, а не как приглашенный коллега.
Это происходит потому, что у меня есть предложение if на странице 'users / new'
<% if @activation_code %>
Show colleague messages of invitation and happiness
<% else %>
Show fully fledged user ego stroking messages
<% end %>
Мой маршрут для поиска параметра кода URL:
map.signup '/users/new/:code', :controller => 'users', :action => 'new', :code => nil
Как я уже говорил, я подошел к этому совершенно неправильно? здесь одна проблема?
UPDATE
Этот эпизод на Rails Cast решил почти все проблемы, с которыми я столкнулся: Приглашения бета-версии
Хотя, чтобы отличить, приходил ли человек по приглашению или нет, я просто использовал этот блок условий:
if !@user.invitation_id.blank?
и это прекрасно сработало.