我创建了一个非常香草的邀请控制器:
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
动作发送参数?
答案 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" %>
这就像一个魅力。