問題タブ [has-one]
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.
ruby-on-rails - RoR: このシナリオでは、belongs_to, :polymorphic を使用する必要がありますか?
私は、多くの ActiveRecord モデルがそれに関連付けられた会話を持つことができるプロジェクトに取り組んでいます。ユーザーは、サイトのほぼすべての側面について話し合うことができます。これをどのように実装するかについて、2 つの考えがあります。
1) 会話ではなくアセット内で belongs_to を使用します - 会話はそのアセットをまったく認識しません
2) 会話で belongs_to, :polymorphic => true を使用する
この関係をモデル化する正しい方法はどれですか? その関係を一言で表すならば、「商品・発注書の会話は一つかもしれません」。
ruby-on-rails - モデルに同じモデルが 1 つまたは複数ある場合の ActiveRecord リレーション
私のデータは次のようになります。
個人は 1 つのチームにしか所属しませんが、多くのチーム メンバーの中でリーダーは 1 人だけです。
最初の質問: Team モデルで has_one の代わりに belongs_to を使用する必要がありますか?
2 番目: チームは、最初にわかっている多くの人物とリーダーで作成されます。これはどのように行うべきですか?
現在、コントローラーで次のようなことを行っています。
これは問題です。@team.persons をリストすると、@team.leader が最初の ID を持ちます。@team.save が最初にリーダーの関連付けを保存するためだと思います。提供された順序である必要があります。
ありがとう!
routing - Rails 3 has_one ルーティング
私は2つのクラスを持っています:
Foo はオプションです。
次のルーティングを作成しました。
その結果、次のルートになります。
質問:
- Index および Show アクションは冗長なようです。それらの1つを削除する必要がありますか?もしそうなら、どれですか?
- user_id は foos テーブルの外部キーであり、ユーザーごとに 1 つの foo しかないため、Show アクションの :id パラメータは不要のようです。私は間違っていますか?
- foo がない場合に New アクションにルーティングする適切な方法が必要です。1 つのオプションは、@user.foo.nil をテストすることでしょうか? FooController の Show または Index アクションで、次に New アクションにリダイレクトします。より良い方法はありますか?
御時間ありがとうございます。
ruby-on-rails - 2つの外部キーを持つhas_one?
Message と User の 2 つのクラスがあります。メッセージには、送信者 ID と受信者 ID の両方がユーザーの外部キーがあります。@message.sender.name と @message.recipient.name のように、送信者と受信者の両方のユーザーを取得できる関係を構築する方法
私はこの方法でそれをやろうとしました:
たとえば、@message.recipient.nameにアクセスしようとすると、「未定義のメソッド「名前」」と表示されます
mysql - BelongsToとhasOneの関係が設定されているモデルはどうなりますか?
2つのモデルがbelongsToとhasOneの関係に同時に関連付けられている場合はどうなりますか?
フレームワークはこの状況を検出して、大量のデータを取得しないようにしますか?
編集:特にCakePHPですが、他のフレームワークが行うことも役に立ちます。
ruby-on-rails - オブジェクトが Rails IRB での変更の保存を拒否する
みんなおはよう、
作業中の関連付けがありますが、何らかの理由で、IRB でデバッグしているときに問題のオブジェクトへの変更を保存できません。誰かが私の問題を指摘できるかどうか疑問に思っていました。
ここに協会があります:
IRB を起動すると、User.first と Affiliate.first を取得できます。ユーザーの managed_affiliate を問題なく設定できます。ただし、保存すると、それがアフィリエイトにまったく反映されません。マネージャーがいません。同様に、アフィリエイトのマネージャーも問題なく設定できます (Affiliate.first.manager = User.first)。すべて問題ないように返されますが、保存しようとすると単に「false」が返されます。IRB ログ機能を有効にすると、次のような出力が得られます。
この関連付けが適切に保存されない明らかな理由はありますか?
また、アフィリエイト テーブルのスキーマは次のとおりです。
助けてくれてありがとう。
ruby-on-rails - belongs_to has_one 構造体
次の特性を持つアプリケーションがあります
ユーザーテーブルがあります。ユーザー テーブルには、基本的に、クラブ マネージャー、チーム マネージャー、およびプレーヤーがシステムにログインするためのユーザー名とパスワードが含まれています。
モデルとテーブルをどのように構成すればよいですか?
クラブ、チーム、選手のテーブルを作成する予定です。しかし、それらと users テーブルの間の関係を構造化する方法がわかりません。
user_id
それぞれのモデルで作成できましたが、その関係はClub belongs_to User
正しくないようです。さらに、次のようなユーザーモデルになります
これは正しくありません。ユーザーは、いつでもそれらのうちの 1 つのみを持つことができます。
これを構造化するより良い方法はありますか?
ruby-on-rails - Rails では、「has_many と has_to」を使用する場合と「has_many と has_one」を使用する場合の違いは何ですか?
たとえば、
上記は正しい使用法であるはずですが、使用するとどうなりますか
student.awards
上記は Award オブジェクトの配列としても、賞の受賞者である Student オブジェクトとしても可能ではないaward.student
ので、投稿の上部にあるメソッドと同じように機能しますか?
ruby-on-rails - link_to_remote を介して :has_one 値を更新するにはどうすればよいですか?
モデル Contact の :status_contact の値を変更できるようにしたい (has_one :status_contact
link_to_remote を含むスニペットは次のとおりです。
Contact.rb の関連するモデル定義は次のとおりです。
エラーから、おそらく特別なルートを作成する必要があるようです?
link_to_remote をクリックすると、ajax を介して値が変更されるようにするにはどうすればよいですか?
更新: 以下の変更を行った新しいエラー:
コントローラーで探しているアクションがわかりません。「更新」アクションがあります。これは、Firebug コンソールを介して渡される URL です。
ruby-on-rails - Rails: nil エラーを回避するために関連付けが見つからない場合は関連付けを作成します
ユーザーが一連の設定を行えるアプリケーションがあります。どちらも次のように ActiveRecord モデルとして保存されます。
ユーザーの設定にアクセスできるようになりました。
しかし、 @u.preference_set が nil を返し、play_sounds
onを呼び出すため、設定セットがまだ作成されていない場合、これは失敗しますnil
。
アーカイブしたいのは、 User.preference_set が常に PreferenceSet インスタンスを返すことです。私はそれを次のように定義しようとしました:
'Stack level too deep'
再帰的に自分自身を呼び出しているため、これは を引き起こしています。
私の質問はこれです:
対応するpreference_set-recordを@user.preference_set
返すか、存在しない場合は新しいレコードを作成するにはどうすればよいですか?
アソシエーションの名前を変更するだけでよいことはわかっていますが (例: preference_set_real
)、この方法で再帰呼び出しを回避できますが、アプリをシンプルにするために、この名前をそのまま使用したいと思います。
ありがとう!