Как использовать devise-invitable

Я только начал с Rails и разработал, и у меня есть задача разрешить пользователям регистрироваться только по приглашению существующего пользователя. Я выбрал devise-invitable gem и застрял с немного непонятной документацией. У меня есть этот код:

def invitationForm
    @nuser = User.new
end
def invite_user
  @user =  User.invite!({:email => @nuser.email}, current_user)
end

Где invitationForm отображает форму:

<%= form_for @nuser, url: {action: "invite_user"} do |f| %>
  <%= f.text_field :email %>
  <%= f.submit "Invite" %>
<% end %>

В конце концов, я получаю эту ошибку:

RuntimeError in User#invite

Showing //invite.html.erb where line #2 raised:

Could not find a valid mapping for nil

Что я делаю неправильно и что мне делать?


person Luka Baryshych    schedule 22.02.2016    source источник


Ответы (2)


Я думаю, что одна из ваших проблем может быть здесь:

<%= form_for @nuser, url: {action: "invite_user"} do |f| %>

Ваша форма указывала на invite вместо созданного вами метода invite_user.

person Kimmo Lehto    schedule 22.02.2016

Ладно, дело было как-то в подставе. После создания нового проекта и запуска с нуля все заработало нормально.

person Luka Baryshych    schedule 01.03.2016