私は2つのテーブルを持っています。 「記事」と「ブックマーク」。私はそれらの間の関連付けを定義したいと思います。関連のないオブジェクトでRails依存の破壊
記事テーブルにはブックマークテーブルで使用される「doi」列があります。
記事:
| doi| varchar(255) | YES | MUL | NULL |
ブックマーク:私はブックマークテーブルの資料を参照するために、物品のIDを使用することはできませんいくつかの理由から
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| user_profile_id | int(11) | NO | MUL | NULL | |
| device_id | int(11) | NO | MUL | NULL | |
| article_doi | text | NO | | NULL | |
| disabled_at | varchar(255) | YES | | NULL | |
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
+-----------------+--------------+------+-----+---------+----------------+
。今度はarticle_doi列の特定の記事のdoiを持つすべてのブックマークに依存破壊を追加したい(記事が削除されるとすべてのブックマークを削除する)。それをどうすれば実現できますか?
記事テーブル 'doi'とブックマークテーブル 'article_doi'は外部キーとして同じ名前を使用する必要がありますか?
を? – krishna
article.rbにhas_many:bookmarks、class_name: 'ブックマーク'、foreign_key: 'article_doi'、依存する::破壊する。 bookmark.rb、belongs_to:article、class_name: '記事'、foreign_key: '記事_doi'。 これは、「article.bookmarks」または「bookmark.article」を実行すると、常にnilを返します。どうして? – krishna