【问题标题】:Constructing composite attribute in Rails with an association [closed]在带有关联的Rails中构造复合属性[关闭]
【发布时间】:2016-02-20 01:33:29
【问题描述】:

我想在 Ruby on rails 中创建一个关联 Location 的表,它由多个变量组成,这里是 Location 属性:

Location: (city, country, district, street, flat number, floor, landmark)

如何在 ruby​​ on rails 语法中表示这个?我对它有点陌生,我不太清楚该怎么做。

【问题讨论】:

  • 你的意思是你想用city, country, district, street, flat number, floor, landmark 字段创建Locations 表?
  • No Location 是表属性,我的主表是:User : Id , Firstname, Lastname, email, Location (city, country, district, street, flat number, floor, landmark)

标签: ruby-on-rails ruby


【解决方案1】:

生成Location 模型:

rails g model Location city:string country:string district:string street:string flat_number:string floor:integer landmark:string

然后运行rake db:migrate

注意:在上面的命令中Location 是模型名称,它是使用复数模型名称生成的表,因此您的表名称将是locations。之后有field_name:data_type


根据您的评论,您想在users 表(现有)中添加字段,然后在这种情况下在现有表中添加字段:

rails generate migration AddLocationToUser city:string country:string district:string street:string flat_number:string floor:integer landmark:string

然后运行rake db:migrate 这会将字段添加到您的用户表中。

更多信息http://edgeguides.rubyonrails.org/active_record_migrations.html

有非常好的官方 Rails 指南http://edgeguides.rubyonrails.org

【讨论】:

  • "nice" 回答某人,他不知道模型是什么以及变量和属性之间有什么区别。只需向 OP 提供 Rails 指南的链接 - 这将是唯一可能的对他有用的东西。
  • @AndreyDeineko : 谢谢 :) 我添加了Ruby on Rails Guides 链接供参考
  • No Location 是表属性,我的主表是:User :- Id , Firstname, Lastname, email, Location (city, country, district, street, flat number, floor, landmark), I不知道如何在创建模型命令中表示位置
  • @Loaa :所以你的意思是你想在users 表中添加这些字段?我也更新了我对这个案例的答案。如果这不是您想要的,请详细告诉我您想要什么?
  • 您还可以为位置维护单独的表并提供与用户表的关系。因此,您可以通过用户对象轻松地从该关系中访问用户的位置。
猜你喜欢
  • 1970-01-01
  • 2021-01-28
  • 2012-06-01
  • 2016-04-08
  • 2015-08-19
  • 1970-01-01
  • 1970-01-01
  • 2016-04-14
  • 1970-01-01
相关资源
最近更新 更多