如何将params传递给我的devise_invitable控制器?

时间:2016-10-25 20:28:16

标签: ruby-on-rails devise ruby-on-rails-5 devise-invitable

我创建了一个非常香草的邀请控制器:

class InvitationsController < Devise::InvitationsController
  def new
    binding.pry
  end
end

我创建了一个触发该请求的链接:

<%= link_to "Invite #{@profile.name}", new_user_invitation_path(email: @profile.email), class: "btn btn-xs btn-primary" %>

我遇到的问题是,当我在该操作中被抛入撬中时,它不会向我显示email参数。

> params
=> <ActionController::Parameters {"controller"=>"invitations", "action"=>"new"} permitted: false>

如何使用InvitationsControler#New动作发送参数?

1 个答案:

答案 0 :(得分:0)

事实证明,new_user_invitation_path对应于对新邀请对象的GET请求,该新邀请对象会生成新表单。

解决方法是在另一个控制器中创建另一个操作,然后简单地用method: :post调用它,如下所示:

<%= link_to "Invite #{@profile.name}", invite_path(@profile), method: :post, data: { confirm: "Are you SURE you are ready to invite #{@profile.name}?"}, class: "btn btn-xs btn-primary" %>

这就像一个魅力。