問題タブ [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アソシエーションを持つネストされたフォームを機能させることができません
私はこれらのモデルを持っています:
このコントローラーのアクション:
そしてこの見方:
ユーザーがすでに追加されている都市のリストから都市を選択できるようにしようとしています。私は彼に選りすぐりを提示しようとしています。選択部分は機能しますが、生成されたhtmlコードは次のようになります。
attribute
その名前にはどこにもありません。したがって、保存しようとすると、次のエラーが発生します。
どうすればこれを修正できますか?
編集:いくつかの進歩があります、私はfields_forをこれに変更しようとしました:
そして今、htmlは正しく生成されているようです。しかし、私は今このエラーを受け取ります:
次に何をしたらいいのかわからない。
city_attributes=
EDIT2:メソッドのオーバーライドは機能しているようです:
それが進むべき道かどうかはわかりませんが、良さそうです。
cakephp - CakePHPでhasOneリレーションシップを使用してビューを編集および追加する方法を教えてください。
誰かが私を助けてくれるかどうか疑問に思いました。
私はcakePHP1.3を使用していますが、メインモデルとhasOne関連モデルを更新するための編集ビューを取得するのに問題があります。私はこれがedit.ctpビューの設定に関係していることをかなり確信しています。私は別のモデルで作業しているメディアプラグインを使用しているので、それはそれとは何の関係もないと思います。具体的には、メディアプラグイン、hasOne関係を持つモノリシックアタッチメントモデルを機能させることに取り組んでいます。
私はケーキのドキュメントをチェックしました
http://book.cakephp.org/#!/view/1032/Saving-Related-Model-Data-hasOne-hasMany-belongs
メディアプラグインのドキュメントの大部分を読むには、これは次のようになります最も関連性の高い
https://github.com/davidpersson/media/blob/next/docs/RECIPES
であり、Googleの検索に多大な時間を費やしました。
どんな助けでもいただければ幸いです。
ありがとう、
ジェームズ
モデル-client.php
コントローラー-clients_controller.php
表示-edit.ctp
クライアントSQL
添付ファイルSQL
ruby-on-rails - RailsのActiveRecordとのhas_one関係を逆にしますか?
ここで髪を引っ張ります。
次の2つのテーブルがあります。
Ruby on Rails ActiveRecord アソシエーションを使用して、これを実行できるようにしたいと考えています。
これは has_one 関係であると確信しています (データベースには 1 つのユーザー名暗号化があります)。これらのどれも動作しません:
これを機能させるにはどうすればよいですか?私はここで死にかけています。
ruby-on-rails - Ruby on Rails has_one 一意の関連付け
ねえ、モデル foo がありhas_one :bar
ます。そしてバーbelongs_to :foo
。2 つのバーが同じ foo に属さないように has_one を拡張する方法があるかどうか疑問に思っていました。has_one のドキュメントを見たところ、指定できる :uniq パラメータがないようです。これを達成するためにカスタム検証を作成する必要がありますか? それとももっと簡単な方法がありますか?
ありがとう。
ruby-on-rails - Rails 3のbuild_association呼び出しで複数のコンストラクタ引数を渡す方法は?
build_foo 呼び出しの 2 番目の引数は決してFoo#initialize
(つまりargs[1]
is nil
) になりません。初期化する唯一の引数をFoo#initialize
保持しながら、2 つ以上の引数を渡すための提案はありますか?*args
ruby-on-rails - Rails has_many :through および has_one :through アソシエーション
まず、1 時間前に更新された3-1-stableブランチのRails 3.1を使用しています。
User、Company、およびJobの3つの重要なモデルがあるアプリケーションを開発しています。モデルの関連部分は次のとおりです。
コードは問題なく動作しますが、次のことが可能かどうか疑問に思っていました。
ジョブをEmployerにリンクしたいので、次のシナリオを考えてみてください: Exampleの従業員であるユーザーJohnは、Rails Developer というジョブを投稿したので、 @job.employerにアクセスしたいので、ユーザーJohnに戻る必要があります。 、 言い換えると:
だから私は2つの可能な解決策を考えました
最初の解決策
2 番目の解決策
どのルートに行けばいいですか?私のコードは正しいですか?
別の質問があります。class_name => "CompaniesUsers" オプションを has_many に渡す方法を取り除くには、クラスを Singular または Plural にする必要がありますか? Employeesのような名前に変更する必要がありますか?
PS: 同じ質問をRuby on Rails に投稿しました: Talk
cakephp - CakePHP の hasOne 関係がドロップダウン フィールドに自動入力されない
2 つのモデル間に hasone 関係を実装しようとしていますが、2 番目のモデル (最初のモデルに属するモデル) で可能なオプションを使用して「追加」フォームをオートコンプリートすることはできません。これは私のコードです:
- モデル 1: item.php
- モデル 2: cover_image.php
- モデル 2 のビューを追加: add.ctp
Cake のドキュメントにあるこの関係については、追加ビューでitem_idフィールドにドロップダウン リストが表示され、このCoverImageが属するアイテムを選択できるはずですが、ドロップダウンは空です (はい、私はitems テーブルにすでにいくつかの項目があります)。
たぶん私は何かを見逃しているか、何か間違ったことをしましたが、それを理解することはできません. 手がかりを事前にどうもありがとう!
編集
私が今気づいたことの1つは、私がこれを行う場合:
これの代わりに:
*item_id* フィールドを追加/編集できます。テキスト ボックスでその値を確認できます。ただし、他のものを離れると、空のドロップボックスが表示され、CoverImageを追加/編集しようとすると機能せず、空の白いページが表示されるだけで、エラーはありません...
これが何かのきっかけになるのかな…
ruby-on-rails - コレクションを介したレールhas_one
関連するコードを貼り付けることから始めて、後で何をしようとしているのかを説明します
compus テーブルには次の列があります (移行からコピー)
ご覧のとおり、n 個の会社を作成し、n 個の会社で仕事をすることができるユーザーがいます。会社で仕事をしているからといって、彼が所有者であるとは限りません。
私が取得したいのは次のとおりです。
user.companies #=> ユーザーが作成した会社、または仕事をしている会社 (後で結果をフィルタリングするのが心配です)
company.employees #=> この会社で仕事をしているすべてのユーザー (compus 経由)
company.owner #=> 最初に会社を作成した 1 人のユーザー (または後で譲渡された場合は別のユーザー)
そのため、上記のコードを書く前に、次の仕様を追加しました。
しかし、次のエラーが発生します。
会社テーブルに列を追加せずにこの問題を解決するにはどうすればよいですか?会社テーブルにowner_idを追加すると簡単になりますが、データベースで重複が発生します。通常、ユーザーが会社を作成した場合、それは彼が働いていることを意味しますそれ
私がそれに取り組んでいる間の別の質問です。関連付けを介して compus テーブルにある :job_title に簡単にアクセスするにはどうすればよいですか?
ruby-on-rails - Rails:{:controller => "settings"、:action=>"edit"}に一致するルートはありません
ユーザーと設定モデルの間にhas_oneの関連付けがあります。編集および更新アクションを備えたSettingsControllerもあります。フロントページには、設定を編集するためのリンクがあります。
これにより、ActionController :: RoutingErrorが発生します。フロントページを表示しようとすると、{:controller => "settings"、:action =>"edit"}..に一致するルートがありません。
なぜこれが起こっているのか、頭をぶつけて立ち往生しました。ユーザー認証にDeviseを使用する場合、このcurrent_userはグローバル変数である必要があります。
ルートがroutes.rbでどのように定義されているかを次に示します。
レーキルートが返すものは次のとおりです。
もう1つの推測は、has_oneアソシエーションを使用する場合、コントローラー名(SettingsController)は複数形ではなく、単数形である必要があるということです。奇妙な理由で、Railsは非常に存在しているにもかかわらず、私のコントローラーに気づいていません。
ヘルプをいただければ幸いです。
ruby-on-rails - Rails 3 と update_attribute での奇妙な関係の動作
テストが失敗する理由を見つけるのに苦労しています:
これらは私が使用しているモデルです:
ここで何か間違ったことをしていますか?改善できますか?さらに重要なことに、その 1 つのテストが失敗するのはなぜでしょうか?
その単一のテストを実行した場合のログ出力は次のとおりです。
最後の 3 行はすべて選択です。レールはユーザーから group_id を削除しようとさえしていないことに注意してください。(テスト ユーザー用に 1 つ、テスト グループ用に 1 つ、テスト ユーザーに group_id を割り当てる 1 つの更新の 2 つの挿入があります)。