我是 MongoDB 新手,不确定如何使用 Array-Field-Type。
所以我在我的模型中创建
field :admins, type: Array
在这个字段中,我想存储所有作为模型“管理员”的 user_id。但是当我尝试设置此字段时,它不会将信息保存在数组中,它只是简单地创建一个带有 ID 的字符串。并且由于我的限制,只有管理员可以编辑我的过滤器功能
def check_if_admin
unless Agency.find(params[:id]).admins.include?(current_agent.id)
flash[:notice] = "Only possible as Admin."
redirect_to root_path
end
end
得到错误
"can't convert Moped::BSON::ObjectId into String"
因此,我尝试在 create def 中将我的字段作为具有 ID 的数组启动:
@agency.admins = [current_agent.id]
这对数组中的一个用户有用,但是如何将 ID 添加到该字段?
当我进入我的编辑表单时:
<%= form_for(@agency) do |f| %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :admins %><br />
<%= f.text_field :admins %> <br />
</div>
<div class="field">
<%= f.label :agents %><br />
<%= f.text_field :agents %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
并手动输入另一个 User_ID,我又回到了我的错误。任何人都知道如何解决这个问题?
非常感谢您的帮助!