如何将参数传递给我的 devise_invitable 控制器?
How do I pass params to my devise_invitable controller?
我创建了一个非常普通的邀请控制器:
class InvitationsController < Devise::InvitationsController
def new
binding.pry
end
end
然后我创建了一个 link 来触发该请求,如下所示:
<%= 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
操作发送参数?
原来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" %>
这很有魅力。
我创建了一个非常普通的邀请控制器:
class InvitationsController < Devise::InvitationsController
def new
binding.pry
end
end
然后我创建了一个 link 来触发该请求,如下所示:
<%= 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
操作发送参数?
原来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" %>
这很有魅力。