有没有办法在控制台中使用Rails generate scaffold命令为一列生成多个关联?

我知道有belongs_to个可用,有references个用例,但不确定has_many

推荐答案

has_many人的关系没有列.belongs_to后面有一列,列中有一个外键.

所以如果你生成一个脚手架:rails g scaffold Post

然后生成另一个脚手架:rails g scaffold Comment post:references

然后rails将创建一个迁移,将名为post_id的列添加到注释表中,并在其上创建一个索引.对于这两个表,它都会在comments(post_id)posts(id)之间创建外键约束.Rails还将在 comments 模型中添加belongs_to :post.

只要另一个模型belongs_to是第一个模型,并且具有外键列的迁移,就可以随时向模型添加has_many.

Ruby-on-rails相关问答推荐

Rails:嵌套命名空间产生一个奇怪的部分路径,导致MissingTemplate错误

删除链接不起作用,重定向 echo 示 Ruby

是否可以使用 Turbo 帧更新 Rails 表单输入字段值?

CanCanCan、Pagy 和 Meil​​iSearch,如何组合这 3 个 gem?

ruby on rails 中的自定义关联

Rails 'includes' 和 'where' 与 belongs_to 和 has_many 关联

如何为 Rails SimpleForm Select 框设置默认 Select 值

Rails 3:如何正确显示textarea中的文本?

如何避免 has_many :through 关系中的重复?

将 Amazon SES 与 Rails ActionMailer 结合使用

如何将 yaml 文件解析为 ruby​​ 哈希和/或数组?

Rails 3 中的猴子补丁

是否有不涉及删除 Gemfile.lock 的在任何源中找不到 *gem*错误的修复?

禁用 JS/Ajax 请求时的 ActionController::InvalidAuthenticityToken

以最Ruby 风格计算 ActiveSupport:TimeWithZone 天数的差异?

Postgresql JSON 数据列不同

ruby 方法名称中的变量

Rails 3:乘客找不到Bundle 程序安装的 git gem

将新管理员添加到活动管理员

您可以在弹性 beantalk 环境中运行 rails 控制台或 rake 命令吗?