問題タブ [model-associations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
445 参照

ruby-on-rails - has_one :属性として解釈される条件?

この協会:

次のエラーが発生します。

読み取りに使用されるコード

ただし、テーブル名がないため、ルックアップでこの問題が発生します (フィールド名が間違ったテーブルに置かれています)。

このオプション:

検索時に次のエラーが発生します。

だから私の質問は、レールがこの条件を属性に変えようとしているのはなぜですか? そして、どうすればそれを両方の方法で機能させることができますか? 私の推測では、レールは新しいレコードのデフォルト値として条件を設定しようとしています。

0 投票する
2 に答える
134 参照

ruby-on-rails-3 - Ruby on Rails: has_many 参照 -- どのモデル オブジェクトを所有していますか?

私は Rails を初めて使用し、Michael Hartl の「Ruby on Rails 3 チュートリアル」を完了しました。この本は私に多くのことを教えてくれますが、このパズルは私には理解できません。

User モデル内でパズル、つまり、わからないことをプレビューするには、

このコードが「user.following」を User インスタンスの配列にリンクする方法。

そして下はパズル全体です。

まず、followed_idおよびfollower_id情報を記録するRelationshipモデルがあります。リレーションシップモデルの内部では、関連付けは次のように単純です。

次に、 User モデル内で、ユーザーはfollowerの役割を引き受け、関係の関連付けを通じて関係テーブル内の後続のすべての行を収集します。

今まで、私はそれを手に入れました。

しかし、次の行で混乱が生じました。ここでは、user.followingを使用して、そのユーザーのすべてのフォロー (ユーザー インスタンス) を組み立てることができます。そのようです、

:source=>:followedがデフォルトを上書きし、そのユーザーに関連付けられているすべてのfollowed_idsを見つけさせることを理解しています。

しかし、Rails はどうやってfollowed_idを認識してUserオブジェクトにリンクするのでしょうか? ラベル名がusersと一致しないか、 :class_nameが指定されていません。Rails がこの基礎となる作業をどのように行っているのか理解できないか、いくつかのヒントを見逃していました。

ありがとうございました!:)

0 投票する
2 に答える
307 参照

ruby-on-rails - 複数のモデルを持つ Ruby on Rails アプリケーション

私はいくつかの小さなROR「ほとんど静的」タイプのサイトを持っており、あまり経験のないもう少し深いものに取り組んでいます...

BIG ピクチャーの命名法。アカウントには多くのユーザーとプロジェクトがあります。ユーザーは多くのプロジェクトを持っています。ユーザーはプロジェクトに多くのファイルとメモを追加します....

最後に、ユーザーがプロジェクト、ファイル、およびメモを表示できるビューを生成する必要があります。以下の手動で作成された「概念実証」に類似したリストまたは表:

上記のリストは、組み込みの Ruby for ループのようなものを使用して生成されますが、その前に、適切なモデルの関連付けと呼び出しがあることを確認する必要があります。

すべてのテーブルから外部キーを持たないようにしようとしていますが、マルチモデルのベスト プラクティスにかなり混乱しています。外部キーがない場合、「model1_model2」命名規則を使用するモデルである可能性がある結合テーブルが必要だと思いますか? および「:through」モデル関係?

現在の私のモデル(これはかなり変化しています)は次のとおりです。

アカウント:

終わり

ユーザー:

終わり

計画:

終わり

データファイル:

終わり

ノート:

終わり

ご覧のとおり。ここで迷った!私はたくさんのチュートリアルを行い、本を読みました。これは、主に静的なページだけではない、私の最初の実世界のアプリケーションです....

これを行う方法はたくさんあるようです。どのモデルを使用し、どのように接続する必要があるかについて、専門家の指示を探していると思います。

あなたが提供できる指示やアドバイスは大歓迎です。ありがとうございました!

0 投票する
3 に答える
1185 参照

ruby-on-rails - Rails 3 has_many : コンセプトを通して

概念的な助けが必要です:
ユーザーが本質的にビジネスであると仮定します。従業員がいて、スタッフの役職があります。基本的に、1 人の従業員が複数の役職に就くことができ、1 つの役職に複数の従業員が所属することができます。
私の have_many :through は、結合テーブル スタッフ化を介して従業員とポジションの間で機能しています。ただし、従業員の編集フォームは、この特定のユーザーの位置だけでなく、アプリ全体のチェックボックスとしてすべての位置を返しています。また、更新を送信しても何も保存されません。アソシエーションで何か違うことをする必要がありますか、それともフォーム内のデータを絞り込むためのより良い方法はありますか?
私のモデル:

私の従業員編集フィールド フォームは、従業員が保持できる可能性のあるポジションのチェックボックスを返すように設定されていますが、アプリ全体のすべてのポジションを返し、送信を押したときにデータを更新していません。

私の従業員コントローラーの更新定義により、 have_many :through 関連付けの行が追加されました。ここで、現在サインインしているユーザーの従業員と役職に絞り込む必要がありますか?

0 投票する
2 に答える
587 参照

ruby-on-rails - Rails モデルの関連付けの混乱

企業/(個人も)プロファイルページを作成して従業員とスキルをリストできるようにする(レールを学ぶための)アプリを構築しているため、サイトのユーザーはスキルに基づいて人を見つけて雇うことができます一定期間の契約社員として。

私はこれらのモデル会社、従業員、スキル、契約を持っていますが、これらのモデルを関連付けて自分のやりたいことを行う方法について混乱しています。

これに似たオープンソース プロジェクトが存在するので、そこから学ぶことができます。

0 投票する
1 に答える
479 参照

sql - Rails 3 Joins Active Recordクエリ

アクティブ レコード 3.0 を使用して 2 つのテーブルを結合できません

テーブル A
ID 名
1 xcv

テーブル B #a_id はforeign_key
id 日付 a_id
1 9/15 1


id date a_name
1 9/15/ xcvとして出力を取得するためにアクティブ レコードを使用してクエリを実行する方法

私がする時

モデルBでは、次のSQLを取得します

DBでクエリを実行すると、正しい出力が得られますが、レールロガーの出力は間違っています

私が欲しいのは

関係は以下の通り

どんな助けでも本当に感謝しています..

0 投票する
2 に答える
190 参照

ruby-on-rails - Railsでオブジェクトに2回関連付けるにはどうすればよいですか?

ユーザー モデルとタスク モデルがあります。

タスクには、タイプがユーザーの作成者と、タイプがユーザーの担当者がいます。

作成者関係を機能させるために AddUserIdtoTasks の移行を既に行っていますが、担当者を追加するには同じことを再度行う必要がありますが、既にキーワード「user」を使用しています。適切な関係を構築するにはどうすればよいですか。

タスクの担当者は常に 1 人だけです。

ユーザーモデルにはdeviseを使用しています。

0 投票する
2 に答える
1822 参照

ruby-on-rails - ある ActiveRecord クラスが別のクラスに属しているかどうかを確認するにはどうすればよいですか

ActiveRecord::Base の 2 つのサブクラスが与えられた場合、一方が他方に属しているかどうかを確認する関数を実装するにはどうすればよいでしょうか?

p>

ありがとう!マックス

0 投票する
1 に答える
416 参照

php - CakePHP/Croogo: 非常に複雑な関連付け

現在のプロジェクトに取り組んでいたとき、かなり複雑な問題に遭遇しました。私は今、私の問題をより詳細に指摘します:

User、UsersExtendedField、UsersExtended の3 つのモデルがあります。

UsersExtendedField には、手動で管理できるカスタム フィールドが含まれています。すべてのカスタム フィールドは [ユーザー] ビューにも表示でき、もちろん入力することもできます。次に、値は、user_id と field_id の 2 つのforeignKey を持つ UsersExtended に格納されます。

関係は次のようになります。

問題: ユーザー ビューにアクセスすると、ユーザー情報を入力するフォームが表示されます。すべての UsersExtendedFields も利用可能であり、これらには多数の UsersExtended があるため、多くの UsersExtended 値があります。しかし、それらを現在ビューが表示されているユーザーに属する値のみに減らしたいと思います。これが私の(望ましい)関係です:

これは完全なコードではなく、重要な部分です。問題は、「UsersExtended.user_id = User.id」と書いたところから始まります。明らかに、これは機能しません。しかし、ここで User.id にアクセスする方法がわかりません。また、このタスクを解決するための HABTM 構造を想像することもできませんでした。この「UsersExtended.user_id = User.id」のセマンティクスを機能させる方法を知っていますか?

これを読んで助けてくれてありがとう!

0 投票する
2 に答える
450 参照

ruby-on-rails - タグ付きの新しいブログを作成する

タグ付けを使用してブログを設定しようとしていますが、保存しようとすると問題が発生します。

私は3つのモデルを手に入れました

ブログモデル

blog_tagモデル

タグモデル

ブログフォームを投稿すると、blog_tagsテーブルに作成したいタグのコンマ区切りリストを含む入力フィールドが表示されます。

私はいくつかの異なるものを試してきましたが、これで終わりました

親が作成されていないと文句を言った以外は機能しているようで、2回目の試行で、文字列「string1」を分割しようとしてエラーが発生しました。これは、カンマがないことが原因だと思います。

私は本当にあなたの一人がここで私を助けてくれることを願っています、または少なくとも私を正しい方向に向けてください:-)

ありがとう!