将 current_user 数据放入不同的模型

place current_user data into different model

您好,我正在尝试让表单提交来自正在填写表单的用户的数据。我想要一个 hidden_form 可以从提交表单的人那里提取 current_user.name 和 current_user.email。我正在使用 Devise 和 mongoid(mongoid 没有什么区别,但我想提供更多细节)。这是我目前所拥有的...

表单视图...

<%= form_for [:managers, Reportapproval.new] do |f| %>
      <div class="actions">
        <%= f.hidden_field :current_manager.name => :reportapproval.manager_name %>
        <%= f.hidden_field :current_manager.email => :reportapproval.manager_email %>
      </div>

当我尝试呈现此视图时出现错误

"undefined method `name' for :current_manager:Symbol"。

我需要当前用户的姓名和电子邮件以转到报告批准模型并与经理在表单中填写的信息一起提交。

这是报告批准模型...

class Reportapproval
  include Mongoid::Document
    belongs_to :applicant
    belongs_to :manager
    has_many :reports

  field :manager_approved,            type: Mongoid::Boolean, default: false
  field :tenant_approved,             type: Mongoid::Boolean, default: false
  field :manager_name
  field :manager_email

您已经写了 current_manager 一个符号。这就是为什么你得到错误 "undefined methodname' for :current_manager:Symbol".`

form_for你必须这样写:

<%= f.hidden_field :manager_name, :value => current_manager.name %>