【问题标题】:Invite User to Organization with Devise Invitable使用设计邀请邀请用户加入组织
【发布时间】:2017-01-28 20:34:03
【问题描述】:

我正在使用 Devise Invitable 向新用户发送邀请。我有一个与名为 Organizations 的用户相关的表,具有 belongs_to/has_many 关系。当新用户去接受邀请时,它声明必须指定一个组织。我将如何确保自动将用户分配到邀请用户的组织,以便更新数据库并接受邀请?

谢谢!

在邀请令牌之后建模为隐藏字段,我添加了

<%= f.hidden_field :plan_id, :value => 1 %>
<%= f.hidden_field :organization_id, :value => 1 %>

到 edit.html.erb 邀请视图。这可以提交我正在寻找的信息,但我担心它不安全,因为可以调整这些参数。我还尝试将以下内容添加到邀请控制器中的编辑控件中,但它什么也没做。

resource.plan_id = 1
resource.organization_id = 1

【问题讨论】:

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


【解决方案1】:

我有类似的设置,您是否在invitations 控制器的create 部分尝试过类似的设置?

这种方法适用于我,但您需要覆盖默认邀请控制器才能这样做。

  def create
     @invited_user = User.invite!({:email => "bob@someone.com"}, current_user)
     @invited_user.update(organization: current_organization)
  ...
  end

我在application_controller.rb 文件中将current_organization 定义为:

  def current_organization
    @current_organization ||= current_user.organization
  end

【讨论】:

    【解决方案2】:

    如果您使用设计邀请,请覆盖您的邀请控制器的新操作和更新操作。 在新操作中,将新用户与组关联,在更新操作中允许外键,您应该一切顺利。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-30
      • 1970-01-01
      • 1970-01-01
      • 2012-11-25
      • 1970-01-01
      • 2016-11-18
      • 2012-01-03
      相关资源
      最近更新 更多