0

我想访问邀请/接受路线中的用户信息。当我去表格并使用

<%= resource.name %>

它不会显示用户。它似乎也没有在接受期间加载用户。有没有一种简单的方法可以向用户显示有关邀请的一些信息?

4

1 回答 1

0

我可以想到两个选择:

  1. 您可以覆盖设计邀请控制器,请参阅: 任何人都有使用 devise_invitable 的经验?

  2. 就我而言,我想传递邀请者的姓名。

    • 我在 User 类中添加了一个整数属性“invitor”。这是邀请者 Person 的 id。不要忘记在模型中添加 'invitor' 作为 attr_accessible。
    • 我已经在 User 类中有一个“名称”字符串属性。
    • 在 app/views/{users|devise}/invitations/new.html.erb (路径可能因您生成视图的方式而异)添加一个隐藏的表单字段以及登录用户(邀请者):

    ... <%= f.text_field :invitor, :value => current_user.id, :hidden => true %> ...

    • 在电子邮件文本 app/views/{users|devise}/mailer/invitation.html.erb 我可以参考邀请人:

    ... <%= (User.find @resource.invitor).name %> 已邀请您到 <%= root_url %>,您可以通过下面的链接接受它....

不是那么优雅,但它确实有效。欢迎在 devise_invitable gem 更新后进行改进。

于 2011-03-29T12:46:50.797 回答