問題タブ [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 - Has_one アソシエーションは「1 つのみ」アソシエーションを持つ必要があります
User モデルと Gallery モデル、および次の関連付けがあります。
gallery.rb
user.rb
ギャラリーはフォームを介して作成され、ユーザーの作成に基づいていません (一部のユーザーはギャラリーの作成を許可されないため、これを行います)
create アクションを含むギャラリー コントローラーは次のとおりです。
gallery_controller.rb
1.) 私の最初の質問は:
このような 1 対 1 の関連付けを設定すると、ユーザーは必要な数のギャラリーを作成できます。それで、それは本当に「たった」1つの関連付けを持っているのではないでしょうか? (私はこれについての概念を理解していないと思います。なぜエラーが発生しないのですか?)
2.) 2 番目の質問:
ユーザーごとにギャラリーを 1 つだけ持つために、ギャラリー モデルの user_id を検証しました。
1 人のユーザーに多数のギャラリー レコードが関連付けられないようにするのは正しい方法ですか?
編集
Reuben のおかげで、私は次のように書きました。
コントローラ
ビュー内 (new.html.erb)
user_id の検証は不要
ruby-on-rails - Rails 3、ネストされた形式のコメント、間違ったルート?
私はPostsモデルを持っています。これには多くの言語で多くの投稿があります。少し標準的ではありませんが、説明すると次のようになります。
つまり、投稿には 1 つの EngPost があります。一方、EngPost はモデルで次のように定義されています。
最後に、eng_comments モデルは次のとおりです。
routes.rb は以下を定義します:
問題 - eng_comments で投稿をレンダリングできません。私は試しました:
そして試しました:
これによりエラーが発生します
ありがとう。
ruby-on-rails - 間違ったテーブルを探している人がいます
has oneRoRで関係を設定しようとしています。契約には 1 つの連絡先があります。合意表には、 という列がありますcontact_id。
agreenment の連絡先を次のように呼び出そうとすると、<%= agreement.contact.name %>(連絡先テーブルには列がありますname) エラーが表示Unknown column 'contacts.agreement_id'されます。agreement.contact_id
助言がありますか?
ruby-on-rails - ペーパークリップとのhas_oneの関係
ニュース、クライアントのような2つのモデルがあるとしましょう。ペーパークリップのデフォルトオプションを使用して、それぞれに(photo_file_name .....)のような追加の列を作成する必要がありますが、別のモデルを作成したいだけです。たとえば、Asset
Asset.rb
client.rb
projects_controller.rb
_form.html.erb
今のところこれは機能していますが、ショービューで表示するにはどうすればよいですか?私はこれをやっています:
@ client.assetにはurl列がないため、これが正しくないことはわかっています。どうすればよいですか?
ruby-on-rails - 同じタイプの一意の has_one 関連を複数持つにはどうすればよいですか?
ピンポンゲームの統計を追跡するルビーアプリを作成しています。これは、これまでのところ私のプレーヤーのモデルがどのように見えるかです
ただし、ページを読み込むと、「不明なキー: ソース」というエラーが表示されます。私が何をしているのか分からない場合、モデルには 2 つのユーザー オブジェクトが含まれているはずです。ここで私が間違っていることを誰かが指摘できますか?
ruby-on-rails - ユーザー/グループ関係の has_and_belongs_to_many または has_many?
次のモデルを持つ Rails 3.1 アプリに取り組んでいます。
ユーザー:
グループ:
それらの間に結合テーブルがあり、グループ テーブルにも「user_id」列があります。これを groups_controller.rb に書き込めると思います
しかし、そうすると、次のエラーが表示されます。
なぜその列を探しているのかわかりません。どんな助けでも大歓迎です!
ruby-on-rails-3 - Rails 3 - 関連付けを介してデータを取得する方法
午後中ずっと、関連付けからデータを取得するのに苦労しています。私はこれらの3つのモデルを持っています:
ユーザー
車
ユーザーカー
テーブルuser_carsには列があります
現在ログインしているユーザーが車を持っている場合、すべての車と印刷したいすべての車のステートメントを表示しています。
私はそれを次のようにしようとしています:
しかし、これは私にエラーを与えます
私はあなたに尋ねたいと思います - 私はすでに関連付けやビューに誤りがありますか?
編集:
ruby-on-rails-3 - 保護された属性を一括割り当てできません: アドレス
ネストされた属性を割り当てようとすると、ログに次のように表示されます。見つけたすべての回答をスキャンして試しましたが、何も機能しません。
users, "authority_id"=>"1", "provider_id"=>"11789", "details"=>"", "directions"=>""}} ユーザー ロード (0.4ms) SELECT .* FROMusersWHEREusers.id= 4 リミット 1警告: 保護された属性を一括して割り当てることはできません: アドレス
私はCareHome < ServiceのSTIを持っています。アドレスは多態的な関係です。
サービスで私は持っています:
CareHomeController#new/create に私が持っている
:address を attr_accessible に追加すると、エラーが発生します。
アドレス (#2560574700) が予想され、ActiveSupport::HashWithIndifferentAccess (#2157282280) を取得しました
Rails のバージョンは 3.1.1 です。
何か微妙なことに違いないと思いますが、試すアイデアが尽きてしまいました。どんな助けでも大歓迎です!
ruby-on-rails - Rails 3.編集ページに移動すると、ネストされたレコードが削除されるのはなぜですか?
すべての会社には、1 つの CompanyContact が必要です。My Company フォームには、会社の連絡先用のフィールドがあります。会社を更新して新しい会社の連絡先を追加すると、会社の表示ページに新しい会社の連絡先が表示されるため、正常に機能します。しかし、[編集] ページに移動する [編集] リンクをクリックすると (注: 更新ボタンはまだクリックしていません)、[会社の編集] フォームで、[会社の連絡先] が空白になっています。ログを確認すると、companycontact が削除されました。
DELETE FROM "company_contacts" WHERE "company_contacts"."id" = ? [["id", 4]]
削除アクションを呼び出していないため、混乱しています。
ruby-on-rails - buildを呼び出すと、Railsのネストされた属性が削除されます
私はRailsに非常に慣れていないので、ここには私が得ていない単純な概念がある可能性がありますが、ここで何が起こっているのかを説明します。
私はユーザーモデル(Deviseを利用)を持っており、各ユーザーは独自の写真属性を持っています。ユーザーの一部として写真を含めることもできたと思いますが、写真は実際にはサイトのコアコンテンツであるため、独自のテーブルにすることをお勧めします。写真モデルには、実際の写真ファイルを処理するクリップアタッチメントがあります。
問題は次のとおりです。ユーザーとして写真をアップロードすると、すべてが計画どおりに機能しますが、何らかの理由で、写真のアップロードページに戻ると、アップロードしたばかりの写真が削除されます。私はそれを次のコード行まで追跡しました:
@photo = @ user.build_photo
それを呼び出さないと、@ user.photoが存在しないため、アップロードのフォームはnilクラスエラーをスローしますが、呼び出すと、以前にアップロードされた写真が削除されます。これは、ビルドではなく、データベースを変更するのは作成関数です。
サーバーが表示する内容は次のとおりです。
2012-03-0810:19:21-0800に127.0.0.1のGET"/settings"を開始しました。HTMLユーザーロード(0.3ms)としてSettingsController#indexで処理します。SELECT
users。*usersFROMWHEREusers。id= 6 LIMIT 1写真の読み込み(0.3ms)SELECTphotos。*photosFROMWHEREphotos。user_id= 6 LIMIT 1(0.2ms)BEGIN[ペーパークリップ]添付ファイルを削除するようにスケジュールします。SQL(0.6ms)photosDELETEFROMWHEREphotos。id=20[ペーパークリップ]添付ファイルを削除しています。
そして、これが私のモデルとコントローラーのいくつかです: