2016-10-25 6 views
0

私はかなりバニラで招待コントローラ作成しました:devise_invitableコントローラにparamsを渡すにはどうすればいいですか?

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

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" %> 

関連する問題