我是新来的rails和建立一个应用程序,从外部网站获取json数据,并将其保存在数据库中。json在User下有以下字段:
{“id”:“姓名”:“用户名”:“电子邮件”:“地址”:{“街道”:“套房”:“城市”:“邮编”:“}”电话::“网站”:“}”,
我知道如何创建一个用户模型与名称,用户名和电子邮件。但是我如何添加具有多个子属性的地址。我没有看到“数组”作为创建模型的选项。提前谢谢你。
我想你可以试试这个:
class NameOfYourMigration < ActiveRecord::Migration
def change
add_column :your_models, :address, :text
end
end
class YourModel < ActiveRecord::Base
serialize :address, Hash # if your variable is a Hash
serialize :address, Array # or for an Array
end
您可以通过将地址关联到用户来实现这一点。
首先,您应该创建一个名为user_address的新模型,例如,具有您想要的属性:
rails g model user_address address:string number:integer user_id:integer
在您的用户地址上。rb文件:
belongs_to :user
然后,在您的用户中。您应该添加的rb文件
has_many :user_addresses
完成此操作后,您将能够通过执行以下查询访问所有用户的地址:
user.user_addresses
这将为您提供一个“ActiveRecord::Associations::CollectionProxy”对象,您可以在其中迭代:
user.user_addresses.each do |address_instance|
puts address_instance.address+"#{ address_instance.number}"
end
要在窗体中管理它,您可以遵循以下指南:https://github.com/nathanvda/cocoon/wiki/A-guide-to-doing-nested-model-forms
安装和生成后,目录名或artifactid中不使用moduleName值,则重新生成的值为 该值在项目的一些其他文件上被正确替换,所以我猜没有拼写问题。 我见过很多类似的东西,但都是使用rootArtifactId,事实上,如果我使用rootArtifactId(作为名称的开始部分),它就会像预期的那样工作。 找不到类似的问题,有什么想法为什么它不能工作,或如何使它工作?
我试图提供一种方法,在一个模型中生成一个新对象(列表),在另一个模型中使用has_many关系(通过分组)生成一个新的关联对象(项目)。我能够让表单工作正常,但无法弄清楚为了正确完成创建过程,我缺少什么。 Rails v.5.1.2,Ruby v.2.4.1 lists_controller.rb items_controller.rb list.rb模型 item.rb模型 grouping.r
OrientDB中的属性就像数据库表中的类和列的字段。 创建属性是用于为特定类创建属性的命令。 在命令中使用的类名必须存在。 以下语句是创建属性命令的基本语法。 以下是有关上述语法中选项的详细信息。 - 定义要在其中创建属性的类。 - 定义属性的逻辑名称。 - 定义您想要创建的属性的类型。 - 定义容器属性类型中使用的容器类型。 - 定义容器属性类型中使用的容器类。 下表提供了属性的数据类型,以便
我正在使用本文概述的typescript实现mongoose模型:https://github.com/Appsilon/styleguide/wiki/mongoose-typescript-models 我也不确定在处理子文档数组时这是如何翻译的。假设我有以下模型和模式定义: 将向user.pet子文档添加新宠物的代码: 在查看链接之后,这似乎是处理子文档所必需的理想方法。但是,此场景似乎会引
我正在注入这样一个脚本: 这会生成如下标记: 我更喜欢以下语法: 将选项传递给jQuery DOM元素创建者时是否支持此功能?或者,我应该只使用普通JavaScript来实现这一点吗?
问题内容: 我想使用Django模板发送HTML电子邮件: 我找不到任何有关的信息,而django-mailer仅发送HTML模板,而没有动态数据。 如何使用Django的模板引擎生成电子邮件? 问题答案: 从docs,要发送HTML电子邮件,你想使用其他内容类型,如下所示: 你可能需要两个用于电子邮件的模板-一个看起来像这样的纯文本模板,存储在你的模板目录下: 还有一个HTMLy,存放在以下位置