【发布时间】:2020-01-29 23:42:17
【问题描述】:
这是我的第一个 Rails 应用程序,我正在构建一个仅 API 的应用程序。假设您有一个名为“Data”的模型,它看起来像这样:
class Data < ApplicationRecord
belongs_to :x, class_name: 'Datum'
belongs_to :y, class_name: 'Datum'
end
Datum 模型如下所示:
class Datum < ApplicationRecord
belongs_to :data
end
而“Datum”有一个名为“value”的字符串属性。基本上,当有人点击“数据”控制器创建新数据时,他们将 :x 和 :y 作为字符串传入,但控制器会拦截这些字符串并创建两个新的数据,并将“值”属性设置为 params[:x ] 和一个带有 params[:y] 和 Data.x -> Datum...我已经做了好几个小时了,我无法让 x_id 和 y_id 设置任何我尝试的方式。
【问题讨论】:
-
嗯,所以 x 和 y,它们实际上是同一个表,也许你可以使用 STI。 guides.rubyonrails.org/…
-
我建议阅读Active Record Associations 文档并考虑您对那些支持的模式的期望操作。设置好关系后,我建议您在使用类方法设置这些 id 时发布控制台输入/输出示例
-
而在Data类中,应该是
has_one :x has_one :y -
@FeifeiXiong 是的,我输入后注意到了,谢谢
标签: ruby-on-rails ruby model-view-controller