在 rails 中向用户添加多个对象

Adding multiple objects to a user in rails

我之前问过一个关于向用户添加多个对象的模糊问题 table。我从 heading_to_tahiti 那里得到了一个非常好的答案,但我在实施它时遇到了麻烦。

我的用户迁移都已通过设计进行了设置。我希望能够制作一个表格,允许用户将药物添加到他们的帐户中。他建议使用脚手架制作药物模型和其他东西,并在用户模型中制作药物列。我尝试了这个并且它在正确的轨道上,但我对药物模型如何做任何事情以及药物列如何存储多种药物感到困惑。

我是 rails 的新手,尤其是在做任何与服务器相关的事情时,如有任何帮助,我们将不胜感激。

我希望最终结果是这个门户网站显示所有用户的药物并允许他们对它们执行 CRUD 任务。我希望这不会太过深远,并且绝对没有义务回答整个问题,我知道这要求很多。

这里是上一题How can I add additional columns to a Users table with rails and devise gem?

我的应用目前 http://imgur.com/ZY456Tj

谢谢

你要的是一对多的关系。一个用户可以有多种药物。为您的药物创建一个模型,其中包含一个名为 user_id 的字段。在 medications.rb:

class Medication < ActiveRecord::Base
  belongs_to :user
end

并在 users.rb 中:

class User < ActiveRecord::Base
  has_many :medications
end

只要您的药物模型有一个名为 user_id 的字段,Rails 就足够聪明,当您调用 myuser.medications 时,您需要所有 Medication记录 user_id = myuser.id。你可以 read more here.