0

has_and_belongs_to_many結合テーブルを生成するには1つのライナーが必要です。そうしないと、より単純な多対多構成のDjangoに戻ります。Rails 3 HABTM one-liner

レール article_tagsモデルを生成する3 [..]

Models 

# article.rb 
has_many :articles_tags 
has_many :tags, :through => :articles_tags 

# tag.rb 
has_many :articles_tags 
has_many :articles, :through => :articles_tags 

# article_tag.rb 
belongs_to :tag 
belongs_to :article 

答えて

3

おお、私は、これはトリックを行うかもしれないと思う、ハハ待つ:

rails g model articles_tags article:references tag:references --no-id --no-timestamps 

Iとにかくモデルファイルの作成(article_tags.rb)を抑止して標準のhas_and_belongs_to_many構文を使用できるようにするにはどうすればいいですか?:パラメータを使用しないで?私は究極の1ライナーを探しています:のhas_and_belongs_to_many構文の使用を可能にする上記の1つのライナーを改善できる人の帽子のヒント!そうでなければ、私はDjangoに戻ります.MyToToManyFieldsが組み込まれています。それはです:生成使用

2

それはあなたが標準has_and_belongs_to_manyアソシエーションを探しているように聞こえる:あなたの結合テーブルがarticles_tagsと呼ばれることになる

# article.rb 
has_and_belongs_to_many :tags 

# tag.rb 
has_and_belongs_to_many :articles 

、およびarticle_idtag_idの2つの列が必要です(モデルではないため、idの列は必要ありません)。

これはRails Guide to Associationsです。私は、Railsガイドに慣れることを強く勧めます。

ジェネレータではほとんど簡単です。必要なのはそうのような移行に定義される2つの空のモデルクラスと結合テーブル、以下のとおりです。

def self.up 
    create_table :articles_tags, :id => false do |t| 
    t.integer :article_id 
    t.integer :tag_id 
    end 
end 

def self.down 
    drop_table :articles_tags 
end 
1

が分からないのですが、私はあなたがhttps://github.com/zealot128/ruby-habtm-generatorで見てみることができると思い2インデックス

チェックを作成します。 HABTMテーブルの正しい移行を生成するRailsジェネレータ。

関連する問題