問題タブ [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.

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

ruby-on-rails - has_one 関係にスコープされた validates_uniqueness_of フィールド

私は次のモデルを持っています:

Sectionモデル (call_numberは のフィールドSection)で次のことを実行できるようにしたいと考えています。

がないため、これは明らかに機能しません。Sectionでは、スコープを関係のモデルに制限するにはどうすればよいですか?term_id

無駄なカスタムバリデーターを作成しようとしました( 「nil:NilClassの未定義メソッド「セクション」」というエラーSectionで新しいバリデーターを作成すると機能しません):Section

どうもありがとう!

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

ruby-on-rails - has_one :through => 複数

出席とバウチングの両方:

したがって: 出席と保証の間の 1 対 1 の関係。

あまり考えずにこれを行う方法はありますか?

注: 実際には、考えすぎてもかまいません。

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

ruby-on-rails - ActiveRecord 関係: A has_many Bs と A has_one B を同時に使用できますか?

Rails での処理方法がわからない状況があります。

イベントhas_many :photosと写真belongs_to :event

十分に簡単

ただし、Event は 1 つの「キー」写真も参照する必要があります。

追加について考えました:

イベントhas_one :key_photo, :foreign_key => "photo_id"

しかし、これはhas_many上記のように機能しますか? もしそうなら、すでに言っているPhotoモデルの逆をどのように処理するのPhoto belongs_to :eventですか?

1 行 (「キー」写真) のみに当てはまるブール列を Photo に追加できますが、それは無駄のように思えます... 1 ビット列のみの場合。

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

ruby - ActiveRecord と has_one と has_many の使用

この単純なモデルを考えてみましょう。a にProjectは 1 つがProjectTypeあり、当然多くProjectsのものがそのタイプになる可能性があります。

したがって、Project has_one :project_type(と呼ばれるtype) とProjectType has_many :projects.

私の移行では、(この例では簡略化されています)

私のプロジェクトクラスは次のようになります (この例では再び簡略化されています)

そして、私の ProjectType は次のようになります

これが機能することを確認するための簡単な単体テストを作成しました

このテストは、アサートでエラーをスローします。

SQL は、テーブルにproject_idフィールドがあると想定しているようですが、 aを many に関連付けることができる場合、それは意味がありません。私の問題は、as notを参照できるようにしたいということと関係があると思いますが、これをどのように修正するかわかりません。project_typesProjectTypeProjectsProjectTypeproject.typeproject.project_type

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

ruby-on-rails - Rails:親モデルのビューでhas_oneモデルを作成しますか?

キャラクターと背景の2つのモデルがあります。キャラクターhas_oneBackground、およびBackgroundbelongs_toCharacter。_menuの部分をキャラクタービューに表示するように設定して、ユーザーがアイテムや呪文など、キャラクターに関連する他のモデルを表示できるようにします。

ただし、Characterにはこれらの他のモデルとhas_manyの関係があり、has_oneの関係を持つモデルに正しくリンクする方法を理解するのに問題があります。

has_manyモデルの場合、キャラクタービューページから新しいページを追加する方法は次のとおりです。

メニュー部分のコードは次のとおりです。ページが作成されると、ページにリンクします。

そして私のBackgroundsコントローラーからのコード:

何かアドバイス?基本的に、link_toでキャラクター表示ページに新しい背景ページを作成し、作成後にその背景をメニュー部分に表示して、ユーザーがリンクをクリックしたときに表示および編集できるようにします。

私は次のようにコードを書いてみました:

しかし、Railsは.existsと文句を言いますか?未定義のメソッドです。.existsはhas_one関係では機能しないと思います。そうでない場合は、そもそも.existsを誤って使用しています。ご入力いただきありがとうございます。

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

cakephp - Cakephp で 2 つのモデルのデータを編集する

私は 2 つのモデルを持っています。1 つはLoginで、もう 1 つは ですUserdetail。リレーションシップLoginを使用して、両方のモデルでモデルからデータを保存しました。hasone

それらを編集する方法を教えてください。

add.ctpファイルに保存するために次のコードを使用しました。

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

ruby-on-rails - Rails 3-has_oneモデル、関連付けられたレコードが特定の基準を満たすレコードを見つける方法

私はモデルの投稿を持っています:

私はモデルの場所を持っています:

指定された場所から50マイル以内にあるすべての投稿を検索する必要があります。例を探しましたが、必要なものが見つかりませんでした。私は2つの方法で問題を解決しようとしましたが、失敗しました。私はRailsの初心者であり、問​​題に数えられていません。has_oneモデルを使用している他の人にも役立つと思います。

私は試した:

posts_controller.rb

index.html.erb

エラーが発生しました:

PostsController#indexのNoMethodError予期していなかったときにnilオブジェクトがあります。配列のインスタンスを期待していたかもしれません。nilの評価中にエラーが発生しました。<<

何が悪いのか助けてください。たぶん、これには他の簡単な方法があります。

また、posts_controller.rbでこれを試しました:

この場合、SQLに問題がありました。

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

ruby-on-rails - has_one :ポリモーフィックを介して - 可能ですか?

アプリにモデルがあります:

クラス コメント < ActiveRecord::Base

終わり

class Project < ActiveRecord::Base

終わり

class Discussion < ActiveRecord::Base

終わり

class Ticket < ActiveRecord::Base

終わり

すべて正常に動作しますが、commentable、つまり comment.commentable.project を介してコメントからプロジェクトを取得するのはあまり便利ではない場合があります。Comment モデルで has_one プロジェクトを作成する方法はありますか?

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

ruby-on-rails - has_one 関係を実装できません

アカウントが 1 つの請求先住所を持つことができるアカウント管理システムを作成しようとしています。アカウントとアドレスに独自のコントローラーとモデルを持たせたい。管理者ユーザーが新しいアカウントを作成すると、このアカウントの新しい請求先住所を作成するためにリダイレクトされます。最初の部分は機能し、アカウントを作成できますが、2 つ目は account_id 属性をアドレス テーブルに保存するだけです。以下は私のコードです:

accounts_controller

アドレス_コントローラー

account_model

address_model

また、routes.rbファイルに以下を追加しました

最後に、以下は関連テーブルのスキーマです

(私はプログラミングとレールにまだ慣れていないので、関連すると思われる限り投稿しました。)

新しいアカウント ページを開いて新しいアドレス ページに移動したときのログを追加しました。

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

ruby-on-rails - Rails 3 : ActiveAdmin と has_one による一括割り当て

私は 2 つのモデルUserとを持つ Rails アプリケーションを開発していますClientUserdevise に支えられ、認証を担当しhas_one Client、特定のユーザーのクライアントの詳細を保持します。Clientを作成するたびにモデルが作成されるようにするため、この関係は常に存在しますUser

私が使用している管理領域にはActiveAdmin. Userここで、管理インターフェイスから を作成しようとすると、次のようなフォームを使用します。

問題は、UserまたはClientが保存され、ページが検証エラーでリロードされることです。Rails コンソールを確認WARNING: Can't mass-assign protected attributes: client_attributesしましたが、作成しようとするたびにメッセージが表示されますUser

この問題を調べたところ、一括割り当てを可能にするにattr_accessibleは、割り当てが許可されているフィールドごとに定義する必要があることがわかりました。そのため、上記の各フィールドのモデルにこのディレクティブを配置Clientすると、メッセージが表示され続け、モデルが適切に保存されなくなります。

誰もこれについて手がかりを持っていますか?