【发布时间】:2016-04-01 18:53:14
【问题描述】:
我正在使用 gem Devise Invitable 发送邀请并在我的 Rails 应用中接受邀请。
一旦用户点击接受邀请链接,他就会被重定向到一个页面,他可以在其中按预期设置密码,但是,一旦我提交表单,它只会将我重定向回同一页面以设置密码
我的表格是:
<%= form_for resource, as: resource_name, url: invitation_path(resource_name),
html: { method: :put, class: "form-horizontal col-xs-12 col-md-6 col-md-offset-3" } do |f| %>
<div class="sheet form-sheet">
<div class="sheet-inner">
<%= f.hidden_field :invitation_token %>
<%= f.form_group :password do |f| %>
<%= f.label :password, class: "form-label" %>
<%= f.password_field :password, autofocus: true, class: "" %>
<%= f.error_messages %>
<% end %>
<%= f.form_group :password do |f| %>
<%= f.label :password_confirmation, class: "form-label" %>
<%= f.password_field :password_confirmation, class: "" %>
<%= f.error_messages %>
<% end %>
</div>
</div>
<div class="form-actions text-right">
<%= f.submit "Activate Invite", class: 'btn btn-outline-primary' %>
</div>
<% end %>
这是我提交表单时的服务器日志:
Started GET "/users/invitation/accept.14?invitation_token=StRLZtV_B3zEssZ2zKNs" for ::1 at 2016-04-01 23:54:24 +0530
Processing by Devise::InvitationsController#edit as
Parameters: {"invitation_token"=>"StRLZtV_B3zEssZ2zKNs"}
User Load (0.7ms) SELECT "users".* FROM "users" WHERE "users"."deleted_at" IS NULL AND "users"."invitation_token" = $1 ORDER BY "users"."id" ASC LIMIT $2 [["invitation_token", "dc88f68ca78c337de574137225018e35220d911ca9b1d2a50cf9fe6d103f781d"], ["LIMIT", 1]]
Rendered devise/invitations/edit.html.erb within layouts/_minimal (2.3ms)
Rendered layouts/_navbar.html.erb (0.5ms)
Completed 200 OK in 351ms (Views: 347.2ms | ActiveRecord: 0.7ms)
它似乎没有更新用户的密码。
我尝试将网址更改为user_invitation_path,但无济于事。
我做错了什么?
【问题讨论】:
标签: ruby-on-rails devise devise-invitable