以 Rails 形式处理 MongoMapper EmbeddedDocument

2024-05-21

首先,我对一般编程和 Rails 都是新手。我选择 Rails 是因为它看起来是一种很容易上手的语言。对于我的项目,我将 MongoMapper 与 Rails 结合使用。

我正在尝试以与文档相同的形式处理嵌入文档。

我有以下模型:

class User
  include MongoMapper::Document

  key :email, String, :required => true
  key :first_name, String
  key :last_name, String
  key :role, String
  many :addresses
  timestamps!
end

class Address
  include MongoMapper::EmbeddedDocument

  key :location, String
  key :street, String
  key :city, String
  key :zip, Integer
  key :state, String
  key :country, String

end

我想在创建文档的同时创建/编辑嵌入文档。我尝试过使用 fields_for:

<% f.fields_for :address, @user.addresses do |address| -%>
  <div class="field">
    <%= address.label :street %><br />
    <%= address.text_field :street %>
  </div>
<% end %>   

但我得到

# 的未定义方法“street”

先感谢您。


fields_for如果你定义的话就会起作用addresses_attributes= on User。因为某些原因fields_for如果您定义该方法,实际上会改变其行为。

这是一个示例实现:

def addresses_attributes=(id_and_attrs)    
  id_and_attrs.each do |id, attrs|
    address = self.addresses.find(id) || self.addresses.build(:id => id)
    address.attributes = attrs
  end
end

未经测试,所以你必须解决这些问题。特别是,如果地址是全新的,因为用户是新的,我不记得嵌套参数如何以不同的方式通过。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以 Rails 形式处理 MongoMapper EmbeddedDocument 的相关文章

  • 如何检查rails上传的文件类型?

    我如何查看即将到来的文件类型 例如 csv 或 xls 请给个代码 我得到文件是这样的 aut name uploaded io original filename File open Rails root join public uplo
  • 如何将变量从外部 JavaScript 传递到 HTML 表单

    我一直试图将一个值从外部 javascript 文件传递 到 HTML 表单 但没有成功 这些文件相当大 所以我不确定我可以解释这一切 但我会尝试 基本上 用户单击一个链接 然后启动一个 js 文件 新 HTML 页面加载后立即执行 我需要
  • Mongodb 聚合嵌套组以及最近更新的文档

    我已经在我的集合中指定了人员 状态 如下所示 ASSIGN ID 583f84bce58725f76b322398 SPEC ID 58411771 STATUS 1 UPDATE DATE ISODate 2016 12 21T04 10
  • 部署到 Heroku 时使用 Rails Secrets.yml 且无需将密钥暴露给公共存储库的分步说明

    我正在使用 Rails 4 1 1 和 ruby 2 0 0 我目前已经忽略了 github 的 gitignore 中的 Secrets yml 文件 秘密 yml development secret key base numb3r57
  • 回形针如何更改基本名称(文件名)?

    我正在尝试更改照片的基本名称 文件名 在我的模型中我有 attr accessor image url basename has attached file image styles gt original gt 300x250 gt pn
  • 在代码中的其他地方设计渲染符号=>向上/形式部分

    我刚刚开始使用 Devise 和 Rails3 我已经完成了身份验证并正在工作并了解基础知识 截至目前 在代表我的主页 首页的主控制器中 我有两个链接 一个链接到 注册 gt sign up 另一个链接根据登录 注销 gt sign in
  • 在 Rails 4 中渲染部分/rake 任务/后台作业/模型中的视图

    我读过很多关于在 rake 任务 后台作业 模型中渲染 Rails 部分和视图的内容 我在 Stackoverflow 和网络上找到的绝大多数内容都描述了在 Rails 3 中工作的方法 但它们似乎已经过时了 而且我没有让它们工作 即使花了
  • 如何验证 ObjectID

    使用 Joi 模式验证 是否可以针对 MongoDB ObjectID 进行验证 像这样的事情可能很棒 id Joi ObjectId required error errorParser 我发现如果我这样做 Joi object id J
  • 在新的 RHEL6 服务器上安装 ruby​​-filemagic gem 时遇到困难

    它似乎正在寻找 libmagic so 1 文件 我有那个文件 它位于 usr lib64 中 我没有以 root 用户身份运行此安装 我也在使用 rvm 和 Bundler 这是我的 bundle 命令的结果 当它到达 Gemfile 中
  • 如何检查水豚中的复选框?

    我正在使用 Rspec 和水豚 我怎样才能写一个步骤来检查checkbox 我试过了check按价值但它找不到我的checkbox 我不知道该怎么做 因为我实际上有相同的 ID 但值不同 这是代码
  • ruby on Rails,会话过期通知

    我正在使用 ruby 1 9 3 和 Rails 3 2 我的实际会话处理如下所示 会话助手 def sign in user cookies remember token value user remember token expires
  • 如何使用 Stripe 在一次操作中创建客户和卡片?

    我正在尝试第一次初始化客户 我有一个表格 他们可以在那里注册和填写所有内容 然后他们提交 在客户端上 会发生以下情况 var cardValues AutoForm getFormValues credit card form insert
  • Ruby on Rails content_for 会自动进行 HTML 转义吗?

    使用 Rails 3 0 6 我发现在视图中 如果我执行 content for food name Macaroni Cheese 然后当我使用它回来时content for food name 那么 将被制作成 amp 已经 如果我做一
  • 通过使用 Minitest 的 Rails,如何设置 RuboCop 在每次使用 rake 运行测试时自动运行?

    当我运行以下命令时 我想要RuboCop https github com bbatsov rubocop在测试运行之前检查我指定的应用程序目录 bundle exec rake test 我添加了以下任务lib tasks test ra
  • Rails:关于产量

    我在a中看到了一些代码导轨 v2 3 app In layout car general html erb 这个视图是由 cars controller 中的方法调用的 我看到了代码 var some car new Object 有两个问
  • 使用 YAML.load 解析 json 安全吗?

    我使用的是红宝石2 1 0 我有一个 json 文件 例如 测试 json item apple 1 banana 2 使用 YAML load 加载此文件是否安全 YAML load File read test json 我正在尝试加载
  • Mongodb更新很多

    我正在使用express js 和 npm 模块 mongodb 进行开发 并以 mongodb 作为数据库 我有两个集合 即 用户 和 活动 一个用户可能有数千个活动 首先 我将用户的 id 姓名和图片 url 存储到 关系的活动文件 请
  • MongoDB自增ID

    MongodB 中自动生成的 ID 的大小为12 Bytes大整数的大小是8 bytes 我在 4 台运行 Ubuntu Server 的机器上有一个 mongodb 集群 但我现在只是在测试 插入只能通过一台服务器 即 Nodejs 服务
  • 为 Meteor 数据创建编号列表

    有没有办法获取 Meteor 集合中项目的编号列表的 编号 我知道我可以在 html 中做到这一点 但我觉得如果我可以在 spacebars 中放置一些东西 那么样式会更容易 如果我可以使用更好的术语 请告诉我 像这样的东西 前 20 部电
  • Pymongo 批量插入

    我正在尝试批量插入文档 但批量插入时不会插入超过 84 个文档 给我这个错误 in insert pymongo errors InvalidOperation cannot do an empty bulk insert 是否可以批量插入

随机推荐

  • 调试VS 2005提示“操作不支持”

    我一直在调试 VS 2005 并将 启动外部程序 设置为 C Program Files Microsoft Visual Studio 10 0 Common7 IDE devenv exe 但按 F5 后出现此错误 尝试运行项目时出错
  • 如何让JComboBox中的内容居中显示?

    目前我有这个JComboBox 我怎样才能将其中的内容居中 String strs new String 15158133110 15158133124 15158133458 JComboBox com new JComboBox str
  • 使用ssl和socket的python客户端身份验证

    我有一个 python 服务器 需要客户端使用证书进行身份验证 我如何制作一个客户端脚本 使用客户端证书由 python 中的服务器使用 ssl 和套接字模块进行身份验证 有没有仅使用套接字和 ssl 而不扭曲的示例 from OpenSS
  • Android Jasper 报告

    Jasper Reporting 可以集成到 Android 应用程序中吗 我正在尝试从 jrxml 文件生成 PDF CSV 文本和 XLS 报告 但是 我没有看到 Android SDK 支持 net sf jasperreports
  • 查找总和为给定数字的值组合的函数

    这个帖子查找提供的 Sum 值的组合 https stackoverflow com a 20194023 1561176呈现函数subsets with sum 它在数组中查找总和等于给定值的值的组合 但由于这个帖子已经有6年多了 我发这
  • Bootstrap 3 / 显示模式不适用于 javascript 方式

    我用Modal http getbootstrap com javascript modalsBootstrap 3 0 的功能 我有这个代码 a href myNestedContent Open the modal containing
  • 如何为不同操作系统/Python 版本编译 Python C/C++ 扩展?

    我注意到一些成熟的Python库已经为大多数架构 Win32 Win amd64 MacOS 和Python版本提供了预编译版本 针对不同环境交叉编译扩展的标准方法是什么 葡萄酒 虚拟机 众包 我们使用虚拟机和Hudson http hud
  • 在 VS2008 的 XAML 编辑器中禁用 Intellisense?

    有没有办法在 Visual Studio 2008 的 XAML 编辑器中禁用 Intellisense 打字时通常会消耗很大的性能 有时我会等待十秒或更长时间 直到列表自动弹出 似乎在 选项 gt 文本编辑器 gt XAML 中 Inte
  • 查询联系人 - 有时返回空游标

    我正在尝试查询联系人的显示名称 Override public void onActivityResult int requestCode int resultCode Intent data switch requestCode case
  • Swing:创建可拖动组件...?

    我在网上搜索了可拖动 Swing 组件的示例 但我发现示例不完整或不起作用 我需要的是一个摇摆组件那可以是dragged通过鼠标 在另一个组件内 被拖拽的时候 应该已经 改变它的位置 而不仅仅是 跳 到目的地 我很欣赏无需非标准 API 即
  • 如何检查设备上是否安装了文本转语音 (TTS) 的特定语言数据?

    我正在创建一个使用文本转语音的应用程序 我希望用户能够离线使用它 因此我检查设备上是否安装了 TTS 数据 以下是执行此操作的代码 Check tts data is installed Intent checkTTSIntent new
  • RichFaces 应用程序,我应该使用 rich:dataTable 还是 jQGrid,优缺点吗?

    继从here https stackoverflow com questions 3899649 ok to wrap jsf components generated html with own divs using jquery aft
  • 如何调试 Gulp 任务?

    如何调试我的中定义的 gulp 任务gulpfile js使用诸如 Google Chrome 调试器之类的调试器逐行单步执行任务的代码 对于 Node js 6 3 版本 您可以使用 inspect flag https nodejs o
  • 在 javascript 中使用 xPath 解析具有默认命名空间的 XML

    我需要创建一个 XML xPath 解析器 所有解析都必须在客户端进行 使用 JavaScript 我创建了一个 javascript 来执行此操作 在默认名称空间发挥作用之前 一切看起来都正常 我根本无法查询具有默认命名空间的 XML 我
  • C++ Boost ASIO 简单的周期性定时器?

    我想要一个非常简单的周期性计时器每 50 毫秒调用我的代码 我可以创建一个始终休眠 50 毫秒的线程 但这很痛苦 我可以开始研究用于制作计时器的 Linux API 但它不可移植 I d like使用升压 我只是不确定这是否可能 boost
  • ggplot2 的 fortify 函数出错

    我在 ggplot2 中使用 fortify 方法时收到此错误 Error in function classes fdef mtable unable to find an inherited method for function pr
  • 在门户中查看 Azure WebJob 计划?

    我创建了一个简单的 Azure WebJob 并通过 Visual Studio 集成制定了每天运行一次的计划 我已经部署了 WebJob 并看到它列在我在 Azure 上的应用程序中 schema http schemastore org
  • Apache Beam Pipeline 写表后查询表

    我有一个 Apache Beam Dataflow 管道 它将结果写入 BigQuery 表 然后我想查询该表以获取管道的单独部分 但是 我似乎无法弄清楚如何正确设置此管道依赖性 我编写的新表 然后想要查询 与一个单独的表连接以进行某些过滤
  • 嵌入式二进制资源 - 如何枚举嵌入的图像文件?

    我按照中的说明进行操作这本书 http www apress com book view 9781430225492 关于资源等的章节 我不太明白的是 如何替换它 images Add new BitmapImage new Uri Ima
  • 以 Rails 形式处理 MongoMapper EmbeddedDocument

    首先 我对一般编程和 Rails 都是新手 我选择 Rails 是因为它看起来是一种很容易上手的语言 对于我的项目 我将 MongoMapper 与 Rails 结合使用 我正在尝试以与文档相同的形式处理嵌入文档 我有以下模型 class