在Rails3.2.9中的关联期间将参考列添加到现有表

时间:2013-01-18 09:35:05

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2

我的rails应用程序中有两个模型。一个是我通过Devise生成的用户,另一个是Links。现在最初我的应用程序中只有Link模型。所以我的模型Link中有两列,即“id”“link”。现在我的要求已经改变,我需要实现一个用户模型。我的应用程序中的用户有一个或多个链接。因此,将has_many :links行添加到我的“user.rb”belongs_to :users添加到我的“link.rb”文件中。

我生成了一个类似的迁移:

rails generate migration add_user_id_to_link user:references

也就是说,我正在生成迁移文件来修改我现有的表格“链接”,并在表格中添加参考列“user_id”

但是在运行rake db:migrate时会出错。然后我运行了命令:

rails genearate migration add_user_id_to_links user_id:integer

但它给出了一个命令未找到的错误。现在的问题是如何实现这个目标?

提前致谢...

2 个答案:

答案 0 :(得分:2)

我很确定引用帮助程序仅适用于create_table。这就是第一个命令不起作用的原因。

第二个命令应该有效。该错误可能指向generate中的拼写错误。

我希望有所帮助。

答案 1 :(得分:0)

如果您想将每个用户分配到他们发布的链接,您可以rails g migration add_user_id_to_links user_id:integer:index