問題タブ [rails-models]

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 投票する
0 に答える
741 参照

ruby-on-rails-3 - Railsフォームでネストされた属性が機能しない

バッジとバッジの勝者の 2 つのモデルを使用するフォームがあります。バッジにネストされている Badge_winners には、user_id フィールドと community_id フィールドが必要です。Ryan Bates の Railscast から学ぼうとしていました ( http://railscasts.com/episodes/196-nested-model-form-part-1 )

私が得ているエラーは次のとおりです。

行 42 は、:create のこの行に対応します。

ここにコントローラーがあります:

フォームは次のとおりです (community_id と user_id の両方が適切に入力されています)。

モデル (user_id と community_id は BadgeWinner テーブルのフィールドです):

これは同様の問題ですが、構文の原因がわかりません: Form with nested attributes with a has_one association not working in Rails 3

誰かが助けてくれることを願っています。私はそれがどこかで初心者のエラーであることを知っています。ご協力いただきありがとうございます。

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

ruby-on-rails - モデルのコードを簡素化する

私は3つのモデルと多形の関係を持っています。役職:

コメント:

投票(多形)

ご覧のとおり、同じコールバックがあります。どうすれば簡単ですか?コールバック付きのモジュールを作成した場合、これは正しいですか?

0 投票する
0 に答える
122 参照

ruby-on-rails - 製品モデルのカスタマイズ

次のレールモデルの関連付けを設定する方法に関するガイダンスまたはチュートリアルへのリンクを探しています。

たくさんのカテゴリがあり、それぞれにたくさんの製品があります。したがって、カテゴリには_多くの製品があり、製品は_1 つのカテゴリに属します。

ユーザーは、カートに追加する前に製品をカスタマイズできます。フレームを選び、サイズを選び、生地を選び、脚を選びます。

ステップ 1 は「フレームの選択」です。このフレームの価格には、「サイズの選択」、「生地の選択」、「脚の選択」のステップのオプション 1 が含まれます。ただし、たとえば、ユーザーが「サイズを選択する」ステップでオプション 2 を選択した場合、一定の金額が価格に追加されます。

各ステップには、約 20 の異なるオプションがあります。各オプションには固有のイメージがあります。では、「生地を選ぶ」ステップを例にとってみましょう。ユーザーは「フレームを選択」し、次に「布地を選択する」ステップに進みます。ここには、20 の布地オプションがあります。ステップ 1 で選択したフレームのサムネイルが、ファブリック オプションごとに表示され、その特定のファブリックに包まれます。

これはどのように機能しますか?ユーザーがフレームを選択したときに、このフレームに関連付けられたファブリックが表示されるようにモデルを設定するにはどうすればよいですか? ファブリックを選ぶと、そのファブリックのソファが 4 種類のサイズとともに表示されます。

ここでチュートリアルを探しているわけではありません。正しいモデルの関連付けに関して、正しい方向への穏やかなプッシュです。

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

ruby-on-rails - 動的ファインダーで一時属性を使用可能にするにはどうすればよいですか?

タイプdatetimeの属性thedateを持つモデルXがあります。

動的ファインダーで日付の年を利用できるようにする最も巧妙な方法は何ですか?

例:

これまでのところ、このカスタム finder アプローチを見つけましたが、明らかに、必要なすべてのメソッドを手動で実装する必要があります。それは避けたい。

0 投票する
0 に答える
591 参照

ruby-on-rails - モジュール内のRails 3.2.1モデル

私のアプリケーションには多くのモデルがあり、それらのいくつかは互いに密接に関連しているため、それらをグループ化してモジュールを作成することにしました。これが私が例として行ったことです:http://pastebin.com/qqELTd2k

今、気になっていることは3つ。

まず、関係でモジュール名を指定する必要がありますか?モジュールの外に出ない場合(たとえば、貼り付けの「belongs_to :status」関連付け)、またはそれを使用しても適切に動作するはずです(Statusというモデルがあります)ルート モデル ディレクトリにあり、Qna::Status とは異なります)。

第二に、その :char 関連付けは、Qna モジュールの外に出て、適切に機能しますか?

3 番目: そのようなモデルをグループ化することは、まったく良い考えですか? これにより、models ディレクトリがよりきれいになりますが、一般的な規則についてはよくわかりません。

アップデート

4番目: モジュールを記述する qna.rb ファイルを app/models の qna フォルダーに配置できますか? はいの場合、どのような変更を行う必要がありますか (明らかに、それほど簡単ではありません)。

0 投票する
0 に答える
200 参照

ruby-on-rails - モデルを整理する Rails の方法

したがって、ストロイは非常に単純です。モデルのグループがいくつかあり、各グループ内で互いに非常に密接に関連している場合 (グループ間でそれほど密接ではない)、それらをモジュールに整理できます (各グループが独自のフォルダーを持つように) models ディレクトリにあり、各グループのテーブルには共通の接頭辞があります)。

しかし問題は、その方法が Rails のやり方に合っているかどうかです。

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

ruby-on-rails - Railsロングチェーンモデルの関連付け

さて、私は1つのモデル(ModelAと呼びます)から2番目のモデル(ModelB)、3番目のモデル(ModelC)への関連付けを処理する方法を知っています。しかし、3番目のもの(ModelC)が4番目のもの(ModelD)を介して5番目のもの(ModelE)に関連付けられている場合はどうなりますか。

問題は、そのチェーンを介して特定のModelAレコードに関連付けられたModelEレコードのコレクションを取得するにはどうすればよいですか?

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

ruby-on-rails-3 - Rails: 1 対 1 の関係を持つ 2 つのモデル、1 つのコントローラー

ユーザー認証を使用して単純な webapp を作成しました。Usersユーザー認証Details用と追加のユーザー詳細用の2 つのモデルを作成しました。それらは関係に関連付けられていone-to-oneます。同じコントローラから 2 つのモデルを更新する際に問題が発生しています。

この場合、関連付けはone-to-oneまったく推奨されますか (1 つのテーブルにあまりにも多くのフィールドを押し込むつもりはありません)、もしそうなら、1 つのコントローラーを介して 2 つのモデルを処理する適切な方法は何ですか?

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

ruby-on-rails-3 - ネストされた属性を使用するフォームを送信した後、API からの応答でモデルを更新します

これが答えられていたら、私を許してください。こことGoogleの両方で、これに対する答えを探すのに数時間を費やしました.

Ruby on Rails を始めたばかりです。フォームから最初に送信されたデータを 2 つの異なるモデルに保存した後、API 応答からのデータでモデルを更新しようとしています。

つまり、基本的に User モデルと Character モデルがあります。サインアップ フォームは、ユーザーとそのキャラクターに関するデータを収集します。API リクエストを行うには、リクエストされた属性 (つまり、名前、レルム) の一部として渡す文字について、少なくともいくつかの詳細を取得する必要があります。

だから私はネストされた属性を持つ form_for を使用しています:

これにより、User モデルに送信されたすべてのユーザー情報と、Character モデルに送信されたレルムと名前が正常に送信されます。問題ありません。ただし、すべての文字情報を提供する API から作成したばかりの Character レコードに入力するフィールドがいくつかあります。これを行う最も効率的な方法は、フォームが送信された後、API から返されたデータでレコードを更新する (またはレコードを保存する前にデータを追加する) ことです。

返された特定のフィールドとデータについてのヘルプは必要ありません。フォームが送信された直後に API リクエストを作成し、すべてのデータでレコードを完成させる方法を探しています。

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

ruby-on-rails - Railsアプリケーションの名前空間モデル

最近、RoR開発者でもある友人と話し合いました。Railsモデルをどのように管理するかについて議論しました。個人的には、ルートモデル(ユーザー、記事、請求書など)のみをデフォルトの名前空間に残し、依存モデルはルートの名前でモジュール(ユーザー::プロファイル、ユーザー::アクティビティなど)に移動します。それらが関連付けられているモデル。

一方、user_profile、user_activityなどと呼ばれるデフォルトの名前空間に100個のモデルがあるプロジェクトをたくさん見ました。Java(Spring)の開発から判断すると、Javaコミュニティはクラスをパッケージに編成し、論理的にグループ化する傾向があります。これは非常に魅力的です。

したがって、問題は次のとおりです。モジュールでモデルをグループ化することに欠点はありますか(リレーション定義の余分な:class_nameを除く)、人々が通常それを行わない特定の理由はありますか?