Rails Devise Invitable gem 重新发送邀请

Rails Devise Invitable gem resend invitation

提问人:Grant 提问时间:9/2/2023 最后编辑:Grant 更新时间:9/2/2023 访问量:35

问:

我需要在我的应用上向用户重新发送邀请。我知道 Devise Invitable 有一个方法,所以调用会用新令牌重新发送新邀请,但我的问题是我如何实际编写表单?resend_inviteinvite!

最好制作表单,这样我就可以将其放在应用程序上需要的几个位置,但是如何编写自定义表单按钮或link_to可以注入代码库的文本。任何最终会召唤的东西remote: trueUser.invite!

现在,我有这样的暴行:

<% resource = access_list.user %>
        <% resource_name = :user %>
        <%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
          <%= f.hidden_field :resend_invite, value: true %>
          <%= f.hidden_field :resend_user, value: access_list.user.id %>
          <div class="actions">
            <%= f.submit "resend invite" %>
          </div>
        <% end %>

这触及了这一点:

def update
        if params[:user][:resend_invite] == "true"
            @resend_user = User.find(params[:user][:resend_user])
            @resend_user.invite!
            flash[:alert] = "We've resent an email invitation to #{@resend_user.email}"
        end
            
    super
    
  end

这可行,但显然是最糟糕的方法,因为它只是搭载了设计控制器,而不是devise_invitable控制器。如何让它接触devise_invitable控制器?

Ruby-on-Rails 设计 邀请

评论

0赞 Community 9/3/2023
请澄清您的具体问题或提供其他详细信息以准确说明您的需求。正如目前所写的那样,很难确切地说出你在问什么。

答: 暂无答案