将current_user数据放入不同的模型中

时间:2015-02-04 04:52:46

标签: ruby-on-rails forms devise

您好我正在尝试从填写表单的用户提交表单提交数据。我想要一个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>

当我尝试渲染此视图时,我收到错误

&#34;未定义的方法`name&#39; for:current_manager:Symbol&#34;。

我需要当前用户的姓名和电子邮件转到reportapproval模型,并提交经理在表单中填写的信息。

以下是reportapproval模型......

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

1 个答案:

答案 0 :(得分:2)

您已经为current_manager写了一个符号。这就是为什么你会收到错误"undefined method名称&#39; for:current_manager:Symbol&#34; .`

你必须为form_for写这样的:

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