- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
首先,我是一般编程的新手,也是 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 %>
但是我明白了
undefined method `street' for #<\Array:0x0000010126e3f8>
提前谢谢你。
最佳答案
如果您在 User
上定义 addresses_attributes=
,
fields_for
将起作用。出于某种原因,如果您定义该方法,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
未经测试,因此您必须解决问题。特别是,我不记得如果地址是全新的因为用户是新用户,那么嵌套参数是如何以不同方式出现的。
关于ruby-on-rails - 以 Rails 形式处理 MongoMapper EmbeddedDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5817439/
如果我有: class Post include MongoMapper::Document has_many :comments end 如果我这样做: class Comment in
这是我的 irb session : irb(main):001:0> class User irb(main):002:1> include MongoMapper::Document irb(ma
我有一个带有嵌入文档的 mongomapper 文档,我想复制它。 本质上,我想做的是这样的: customer = Customer.find(params[:id]) new_customer =
我试图通过将类继承与 MongoMapper 一起使用来获得更好、更有条理的结果,但遇到了一些麻烦。 class Item include MongoMapper::Document key
有没有办法保存 MongoMapper 模型实例,以便不执行验证但调用回调?这类似于 ActiveRecord 的 whatever.save(false) 我在网上找到了一段代码,可以用来绕过验证和
在 MongoMapper 中,类可以从父类(super class)继承键和方法。在这里,我编写了包含整数键“baz”的代码,以及将其实例的 baz 值设置为连续计数的朴素排序方法。 require
我已经使用 MongoMapper 几个星期了,并且喜欢它的很多功能。最吸引人的功能之一是能够定义自定义 key 类型和验证方法(请参阅本页上的“自定义类型”:http://mongomapper.c
假设我们有两个模型,Task 和 User。所以一个用户可以有很多任务,任务也应该可以有很多用户。但是,任务还应该有一个独特的创建者,他也是用户。 例子: 这个上下文中的任务是这样的:任务ID、任务创
我有一个带有链接数组的 ruby 类。现在我可以保存一个 Paper 对象,即使该数组包含不是有效 url 的链接。我有一个遍历数组并验证 url 并在 url 无效时返回 false 的方法。但
我需要编写一个查询来查找在指定日期创建的所有文档。 假设日期是今天。 我试过了: Document.all(:created_at => Date.parse(Time.now.strftime('%
有没有人有很好的 MongoMapper 文档资源?我一直在阅读 mongoDB 文档,但其中很多都没有转换为 ruby/mm。我一直在试图弄清楚如何做一个 SELECT FROM WHERE E
我怎样才能让一个 mongo 模型进入一个数据库,而另一个使用另一个数据库? 我已发送此链接 https://github.com/jnunemaker/mongomapper/blob/master
我有一个 Rails 应用程序,当前使用 activerecord 来存储和查询产品。 每个产品都有一个类别和子类别,每个子类别由我可以在应用程序中创建的多个字段定义。由此,当用户想要输入特定产品时,
我不能使用 Array#shuffle,因为我没有获取所有文档(我最多只获取 20 个文档)。我如何使用 MongoMapper(即在 MySQL 中使用 ORDER BY RAND())从 Mong
如何在运行时改变当前的MongoMapper数据库? 此外,有没有一种方法可以将模型映射到名称是动态计算的数据库?例如: class MyEntity include MongoMapper:
我正在将 MongoMapper 用于我们的主数据存储,我想针对我们副本集中的从节点而不是主节点运行报告作业。不幸的是,我们的大部分后台作业都是读/写的,需要与主作业相对应。 有什么方法可以做如下的事
MongoMapper with Identity Map 是否支持级联删除?它似乎并不是真的,但我可能在文档中的某处遗漏了一些东西。请考虑以下事项: class User include Mon
尝试使用名为“buy-only”的键为文档设置 MongoMapper 对象。当我尝试启动应用程序时,我得到了这个 (eval):1: syntax error, unexpected '-', ex
我正在寻找使用 MongoMapper 的预加载关联文档。假设我有一位作者对帖子有 :has_one 条件,我应该能够使用单个查询加载作者 Post.find(:all, :include => :a
在 MongoMapper 文档中我找不到任何实际编辑文档的方法。我在别处也找不到任何东西。我能找到的唯一方法是这种方法: class User include MongoMapper::Docu
我是一名优秀的程序员,十分优秀!