問題タブ [nested-resources]

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 に答える
569 参照

ruby-on-rails - Rails - ネストされたオブジェクトの削除

bookが所有するネストされたオブジェクトを削除したいuser。ページには、それに関連user#showするすべてが表示されます。各本のほかに、それへのリンクがあります。これが私のコードです:booksuserdelete

routes.rb:

book_controller.rb:

そしてuser#showページで:

これが間違っていることはわかっていますが、欲しい本を削除するにはどうすればよいですか?

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

ruby-on-rails - Ruby / Rails - ネストされたリソースの AJAX ページネーション - 親リソースを特定するにはどうすればよいですか?

私のモデルにはPostsUsers、およびがありCommentsます。ユーザーは、投稿に対してコメントを残すことができます。すべてのコメントは、ユーザーと投稿に属します。したがって、Comment モデルにはuser_idフィールドとフィールドがありpost_idます。

を表示するときにPost、その投稿のコメントをページ分割したいと思います。
を表示するときにUser、そのユーザーのコメントをページ分割したいと思います。
AJAX (Kaminari gem 経由) を使用してページネーションを行いたい。

ネストされたルートを両方に設定しました。

投稿では、ヒットしhttp://localhost:3000/posts/{:id}/comments?page={page_number}
た URL ユーザーでは、ヒットした URL はhttp://localhost:3000/users/{:id}/comments?page={page_number}

どちらの URL も、コメント コントローラーのインデックス アクションにヒットしています。

私の質問は次のとおりです。アクション内で、提供されたものが aまたは aであるindexかどうかを判断して、目的のコメントを取得できるようにするにはどうすればよいですか。{:id}user_idpost_id

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

ruby-on-rails-3 - Rails 3ルーティング:ディープネスティングの回避

今日、私はネストされたリソースに少し夢中になっていることに気づきました。

Railsのガイドライン(および私自身の考え)では、1レベルを超えてネストするべきではないと示唆されているため、次のようにリファクタリングしました。

上記のルートを宣言するためのよりクリーンで簡潔な方法を知っている人はいますか?グーグルは私にたくさんのRails2特有のものをくれた。

どうもありがとう!

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

ruby-on-rails - ネストされたルートで url_for の形式を指定するにはどうすればよいですか?

次の link_to ステートメント:

のようなURLを生成します/programs/1/program_codes/1

URL を にしたい場合/programs/1/program_codes/1.svg、 に渡される配列でフォーマットを指定するにはどうすればよいurl_forですか? Rails API ドキュメントを検索し、いくつかの例を見ましたが、このようなものは見つかりませんでした。

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

ruby-on-rails - ネストされたリソースのフォーム

form_for のネストされたリソースに関する質問をたくさん調べましたが、解決策が見つかりません。個人的な質問をする時が来たと思いました。

仕事と質問の 2 つのモデルがあります。仕事には多くの質問があり、質問は仕事に属しています。

スキャフォールディングを使用してコントローラーとモデルを作成し、次にリソースを routes.rb にネストしました。

現在、「/jobs/1/questions/new」にアクセスしようとしていますが、

質問の NoMethodError#new

コードが_

これが間違っていることはわかっているので、他のコンボを試してみましたが、どれもうまくいきませんでした。

私はもう試した

それ

それ

他の多くの組み合わせの中で、それは機能していません。

ここに私のレーキルートへのリンクがあります: git clone https://gist.github.com/1032734

さらに詳しい情報が必要な場合はお知らせください。

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

ruby-on-rails - ネストされたリソースに関するLink_toルーティングの問題

JobsとQuestionsの2つのモデルがあります。ジョブには多くの質問があり、質問はジョブに属します。モデル内のリソースとルートを設定しました。質問#indexページで質問コントローラーのShowメソッドにlink_toしようとすると問題が発生します。私のレーキルートでは、パスはjob_question_pathであり、必要な2つの:idは:job_idと:idである必要があると言われているので、次のことを試しました。

エラーが発生しました:

私は他の複数のコンボを試しましたが、何も機能していないようです。

またはその組み合わせ。

私が得られない部分は、URL / jobs / 1 / questions / 1を入れることができ、それが私をショーページに連れて行くということです、それで私は私のquestions#showメソッドが大丈夫だと思います。私のコードの残りの部分については、以下を参照してください。

質問#インデックスビュー

<%終了%>

質問コントローラー

モデル

Routes.rb

私のレーキルートについては、このhttps://gist.github.com/1032734を参照してください。

事前に助けてくれてありがとう、私はしばらくこれにいて、解決策を理解することができません。さらに情報が必要な場合はお知らせください。

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

ruby-on-rails - Ruby on Rails - インデックス/表示ページとページネーションを使用したレビュー リソースのカスタム ルーティング

私は、Rails 3 ルートに関する非常にトリッキーな問題で立ち往生しており、これを自分で解決するには十分なルートがありません。「表示」と「インデックス」アクションのみの「レビュー」リソースがあります。スラッグ ID には Friendly ID gem を使用しています。ネストされたコメント リソースもあり、レビューにコメントすることができます。

したがって、これまでのところ、インデックス ページのパスは単に「レビュー」であり、ショー アクションの場合は「レビュー/マトリックス」のようなものです。これまでのところ十分に単純です。

まず最初に、メインのインデックス ページで問題が発生しました。インデックス ページに will_paginate ジェムがあり、ページをキャッシュしています。問題は、パスが /reviews?page=2 のようなパスの場合にキャッシュが機能しないことです。むしろ、ページネーションを通過するときにパスを /reviews/2/ にする必要があるため、前のレビュー リソースの上に次のように追加しました。これを機能させます。

なぜ制約?上記の行 (数の制約なし) は、「表示」ルートを妨害する「キャッチオール」になってしまうため、私の「表示」リソース ルートは機能しません。show アクションの ID は常に単語になるため、インデックスのページ分割されたページには常に番号が付けられるため、このようにしました。

しかし、ここに問題があります。「ショー」ルートを単に「レビュー/マトリックス」にしたくありません。ほら、すべてのレビューはレビューされているものの種類によって分類されているので、実際には「ショー」パスを「レビュー/映画/マトリックス」または「レビュー/本/ロードオブザリング」のようにしたいと思います.'

「レビュー/書籍」などの追加のカテゴリ インデックス ページには、元のレビューの「表示」パスを使用したいと思います。(上記の制約の別の理由。)しかし、この質問を複雑にしすぎたくないので、別のSOの質問のためにそれを保存します。

では、前の質問に戻ります。通常、レビュー リソースにネストされたコメントがあることを除いて、上記は単純な「一致」ルート (ルート グロビングを使用) で解決できると思います。レビューでコメントのネストされたリソースを保持しながら、上記のような「表示」ページを作成するにはどうすればよいですか?

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

ruby-on-rails - 3 レベルの深さのリソースのネスト

何が問題なのかはわかりますが、それを修正するのに苦労しています。

私の状況をもう一度説明すると、Jobs、Questions and Answers の 3 つの要素があります。すべての関係を以下に設定します。Jobs > Questions の関係に関係していた以前の質問を拡張して、Jobs > Questions > Answers に Answers の関係を追加しました。

そのため、routes.rb に新しいリソースを追加すると、ルーティング エラーが発生しました。これは、進行中に修正していました。この問題は、フォーム Answers#new ページに到達し、form_for scaffolding を変更して、Answers コントローラーのCreateアクションでビルドする必要があったときに発生しました (以下の 2 つのコードを確認できます)。

新しい回答ページにフォームを表示するのに十分なものを修正できましたが、送信をクリックすると次のエラーが発生します。

このエラーから、job_id を保存していないことがわかります。これは、answers create アクションまたは answer new form_for コードのいずれかで job_id を適切に呼び出していないことに関係していると確信しています。私はたくさんの解決策を試しましたが、何もうまくいかないようです。作成アクションに近づいているように感じますが、うまくいきません。とにかく、事前に助けてくれてありがとう。十分な周囲のコードがなくて提供していない場合は、お知らせください。追加します。

この質問は、この投稿の拡張です: Link_to Routing Issue With Nested Resources

PS また、answers/1/ に直接アクセスすると正常に動作するため、answers show アクションも追加しました。create アクションが間違っていれば、show アクションも間違っていると感じています。

モデル:

Answers#新しいフォーム

答えは行動を起こす

答えは行動を示す

最新のレーキ ルートについては、このhttps://gist.github.com/1057810を参照してください。ネストを 1 層より深くすべきではないことはわかっていますが、それが私にとって最も簡単で迅速な解決策でした。

再度、感謝します!

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

ruby-on-rails - ネストされたリソースでのRails3ルーティングエラー

私のRailsアプリケーションには多くのゲームがあり、各ゲームには独自のリーダーボードのセットがあります。その場合、リーダーボードをゲーム内にネストすることは理にかなっているため、ゲームを通じてのみリーダーボードにアクセスできます。私はroutes.rbファイルをそのように設定します(重要な部分):

そこで、コントローラーを更新して、渡されたgame_idから適切なゲームを取得し、そこからリーダーボード情報を取得します。しかし、私の問題は私の見解から来ています。このセクション(スキャフォールドから自動生成されたビュー):

コードは次のように壊れています。

この行は、エラーであることがわかります:(私のコードの19行目)

この線を削除すると、ビューが正常にレンダリングされます。それで、URL部分は壊れていますが、どうすれば修正できますか?奇妙なことに、私はショービューにその正確な「edit_game_leaderboard_path」を持っています、そしてそれはうまくいきます...私は何が間違っているのですか?

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

ruby-on-rails-3 - Rails :include には含まれません

私のモデル:

次のクエリを実行すると、emails期待どおりに返されます。

ただし、関係を試みて:includeも次のことはできません。

ご覧のとおり、SQL は実行されていますが、電子メールは返されていません。メールを含むすべての連絡先を返すつもりなので、:joins何の役にも立ちません。私は何が欠けていますか?