Rails 疑问,Rails 中一对多外键问题?

an_love · 2013年08月07日 · 最后由 an_love 回复于 2013年08月10日 · 4534 次阅读

在 rails 开发中,,一对多的关系,用 scaffold 自动生成的代码没有外键,在 model 中用了 has_many 和 belongs_to,,, 想问 rails 中能不能用 scaffold 也把关联的外键一并给给生成出来?就像 javaee 中的 hibernate 那样,,

可以這樣 rails g scaffold post title:string content:text user_id:integer 指定 post 的 column 的,當然包括外鍵。

right,或者这样写:rails g scaffold post title:string content:text user:references migration 里面对应生成的就是 t.references :user 等价于 t.integer :user_id

#1 楼 @yesmeck 我试试,多对多呢??这个那里介绍的,,书上没有找到过,

#2 楼 @keyboarder 谢谢,,了解,我试试,

#1 楼 @yesmeck 我按照你这样,但是表生成数来了,,数据库里面没有外键呢?

#5 楼 @an_love user_id不就是了?

#5 楼 @an_love 那你生成的表什麼樣的?

#7 楼 @yesmeck 就是普通样的,我截图了,, 这个是表结构,,在 article_id 那里没有外键,,我是按照你们那样做的,

#6 楼 @Martin91 user_id 是有,,但是没有关联 User 的 id 主键,我用的是文章 Article 和回复 Reply

article_id 就是外鍵了

你是想說應該有外鍵約束什麼的嗎?

這個 Rails 是不會幫你生成,不是每個數據庫(引擎)都支持外鍵約束的。可以用 ActiveRecord 本身的關聯功能來實現,比如:

class User < ActiveRecord::Base

  has_many :posts, dependent: :destroy

end

#13 楼 @yesmeck ,原来是这样,,,一对多关联首先就想到了外键,

需要 登录 后方可回复, 如果你还没有账号请 注册新账号