[解決済み] railsのt.belongs_toとt.referencesの違いは何ですか?
2022-06-01 01:34:12
質問
とはどのような違いがあるのでしょうか?
t.references
と
t.belongs_to
?
なぜこの2つの単語があるのでしょうか?それは、彼らが同じことを行うように思える?
いくつかのGoogle検索を試してみましたが、何の説明を見つけることができません。
class CreateFoos < ActiveRecord::Migration
def change
create_table :foos do |t|
t.references :bar
t.belongs_to :baz
# The two above seems to give similar results
t.belongs_to :fooable, :polymorphic => true
# I have not tried polymorphic with t.references
t.timestamps
end
end
end
どのように解決するのですか?
を見てみると
ソースコード
を見ると、これらは全く同じことを行っています。
belongs_to
のエイリアスです。
reference
:
def references(*args)
options = args.extract_options!
polymorphic = options.delete(:polymorphic)
args.each do |col|
column("#{col}_id", :integer, options)
column("#{col}_type", :string, polymorphic.is_a?(Hash) ? polymorphic : options) unless polymorphic.nil?
end
end
alias :belongs_to :references
これは単にコードを読みやすくするための方法です。
belongs_to
を入れることができるのはいいことです。
references
を使うようにしましょう。
関連
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] レイル 4 radio_button_tag default not selected
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] rake db:migrate db:reset とdb:schema:loadの違いについて
-
[解決済み] Ruby/RailsでHashからキーを削除して残りのHashを取得する方法は?
-
[解決済み] Ruby on Railsで、DateTime、Timestamp、Time、Dateの違いは何ですか?
-
[解決済み] RailsのERBにおける<%、<%=、<%#、-%>の違いは何ですか?
-
[解決済み】Railsの認証トークンを理解する
-
[解決済み】railsの文字列とtextの違い?
-
[解決済み】ruby on railsのcollection routeとmember routeの違い?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Webpacker::Manifest::MissingEntryError【クローズド
-
[解決済み] Ruby/Rails の「フック」とは何ですか?
-
[解決済み] どのようにrailsでラジオボタンを正しく使用するには?
-
[解決済み] heroku push rejected, failed to compile Ruby/rails app
-
[解決済み] Rubyで変数をインクリメントする [重複]。
-
[解決済み] Rubyのクラスで未初期化の定数エラーが発生する
-
[解決済み] Rails ExecJS::ProgramError in Pages#home?
-
[解決済み] Railsです。gemを使った特定バージョンのライブラリのアンインストール
-
[解決済み] RVMでRubyのデフォルトバージョンを設定するには?
-
[解決済み] Heroku Error R14 (Memory quota exceeded): How do I solve this?