您好我正在尝试从填写表单的用户提交表单提交数据。我想要一个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
答案 0 :(得分:2)
您已经为current_manager写了一个符号。这就是为什么你会收到错误"undefined method
名称&#39; for:current_manager:Symbol&#34; .`
你必须为form_for写这样的:
<%= f.hidden_field :manager_name, :value => current_manager.name %>