我刚开始使用Rails并设计并完成任务,允许用户仅通过现有用户的邀请进行注册。我选择了设计灵巧的宝石,并且卡住了一些不清楚的文档。我有这段代码:
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
我做错了什么,我该怎么做?
答案 0 :(得分:1)
我认为你的一个问题可能就在这里:
<%= form_for @nuser, url: {action: "invite_user"} do |f| %>
您的表单指向的是invite
,而不是您创建的invite_user
方法。
答案 1 :(得分:0)
好的,这笔交易是在设置中,不知何故。创建一个新项目并从头开始一切都很好。