問題タブ [nested-routes]

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

ruby-on-rails-3 - Rails 3 - ネストされたリソースとポリモーフィック パス: 2 レベルまでは問題ありませんが、3 レベルで壊れます

「投稿」、「家族」、「子供」、および「写真」を使用して、簡単な家族の再会サイトを作成しようとしています。理想的には、ルート/関係を次のように構成したいと思います:

モデルでは、必要な " belongs_to" と " has_many" の関係を と の間famsに設定してkidsいます。 Famskids、およびpostsすべては"has_many :pictures, :as => :imageable" で定義され、写真は次のように定義されます。belongs_to :imageable, :polymorphic => true

やろうとするlink_to "Edit"link_to "Destroy"picturesビューであらゆる種類の_path問題に遭遇します。 は、とpolymoric_pathの 2 つのレベルで正常に動作しますが、 の 3 レベルのケースを処理できません。オブジェクトの上にある" " オブジェクトの 2 つのレベルを処理するようには設計されていなかったと思います。もう 1 つの問題は、あるインスタンスではコントローラーが「1 レベル」のリソース ネスト状況を処理する必要があり、別のインスタンスでは「2 レベル」の状況を処理する必要があることです。これにアプローチする方法がわからない。posts-picturesfams-picturesfams-kids-picturesimageablepicturepictures

私が試したことの 1 つは、Ruby ガイドの指示に従って、リソースを複数の深さで入れ子にしないことでした。私はそれらを次のように構成しました:

これにより、家族と子供の関係が維持されなくなったため、パスに別の問題が発生しました。pictureまた、すべての異なるビュー で polymorphic_path を正しく機能させることもできませんでした。

そこで、私の主な質問は次のとおりです。Rails 3 の例/チュートリアルを知っている人はいますか?ネストされたリソース、begs-to/has_many、およびポリモーフィックな関係がすべてまとめられています。例を示しますか?(私は Rails にかなり慣れていないので、Rails の歴史的経験が不足しているため、これらの領域で見つけた Rails 2 の例は混乱を招きます。)

または、ビューのlink_to EDITandlink_to DELETEステートメントと、コントローラー の、、およびメソッドのステートメントを構造化する方法を誰かに教えてもらえますか?pictureredirect-tocreateupdatedestroypictures

ありがとう!

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

ruby-on-rails - オプションのスコープでリソースを使用したRails3ルーティング

下位互換性のためにわずかな調整を加えるだけで、このようにバージョン管理されたAPIをセットアップしました。私のルートでは:

次のURLを同じ場所に到達させるという成功した目標はすでに達成されています

私のディレクトリ構造は次のようなものです。

ここに画像の説明を入力してください

私が見ている問題は、私の見解ではリンク世代にあります。たとえば、サウンドショーページでサウンドbutton_toを削除する必要があります

これにより、次のURLが次の形式で生成されますaction

さらに、このdeleteメソッドは機能していません。代わりに、POST

の興味深い部分は次のrake routesとおりです。

サーバーログには次のように表示されます。

UJSとしてJQueryを使用しており、JQuery用のrails.jsの最新バージョンがあります。




私はこれが正しいことを知っていますtl;drが、私の質問は次のとおりです。「URLヘルパーがセットアップの正しいパスを生成するように、button_to link_toおよびその他のビュータグに何を入れる必要がありますか?」私は考えられるほぼすべての組み合わせを試しましたが、それらを適切な場所に配置することはできません。

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

ruby-on-rails - act_as_tree を使用するリソースのネストされたルートを構築する

次のような動的ルートを生成する方法を知っていますか?

この質問をするのFolderは、ツリーとして機能するモデル (parent_idフィールドがある) があり、そのto_paramメソッドnameparent_id. したがって、 each:parent_idおよび event は:idですname。パスの例を次に示します (4 つのサブフォルダーを含む):

...最初の:parent_id(ルート) は「home」で、:id「foobar」です。

ルートの別の例は次のとおりです (1 つのサブフォルダーを使用):

...どこで、ご覧のとおり、params[:parent_id] == 'home'そしてparams[:id] == 'music'.

この種の可能なネストされたルートを処理する美しいRails 3ルートを書くきれいな方法はありますか? ありがとう!!

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

ruby-on-rails-3 - Rails 3 ネストされたリソース変数

作成中のトランザクション オブジェクトに関していくつか質問があります。

トランザクションはローンに属し、ローンは多くのトランザクションを持っています。

したがって、ネストされたルートをセットアップします。

私の質問は次のとおりです。ローンの値をトランザクションの「loan_id」フィールドに渡すにはどうすればよいですか? これはコントローラーで行うのが最適ですか、それともフォームの hidden_​​field として行うのが最適ですか? ネストされたルートは、この変数を取得する簡単な方法を作成しますか?

これは自動的に行われると思っていましたが、そのまま保存するとフィールドは空です。

どんな助けでも大歓迎です!

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

ruby-on-rails - Rails 3-レーキルートにリストされているにもかかわらず、ネストされたルート「NoMethodError」

さて、私はこのようなネストされたルートを持っています:

私のフォームインデックスには、次のブロックがあります。

ページはapp_form行にNoMethodErrorをスローします。ただし、アプリとフォームを正しく渡そうとしていると思います(@ app.idも渡そうとしました)。レーキルートを呼び出しています...ルートも表示されます:

どんな助けでも大歓迎です!

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

ruby-on-rails - Rails: ネストされた名前付きルートの使用

ルート.rb:

レーキルート:

ルートの使用方法を教えてくださいnew_job_activitylog

<%= new_job_activitylog %>実行すると未定義の例外が発生します-link_to私が目にするほとんどの例が使用している使用もそうです。

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

ruby-on-rails - Rails3ネストされたリソースの編集/更新方法-ルーティングエラー

ネストされたリソースアクションについてサポートが必要です。ネストされたリソースが3つあります。ジョブ、質問、回答です。私は現在、質問コントローラーで編集/更新メソッドを機能させることだけを試みています。関係は次のとおりです。Jobshas_manyの質問とQuestionsはJobsに属しています。

質問に対して編集アクションを使用していますが、エラーが発生します:

理由がわかりません。

私は現在、Questionsコントローラーの編集および更新アクションとしてこのコードを持っています:

モデル:

ルート:

私が理解していないことは次のとおりです:a)リダイレクトしなかったのに、なぜ質問インデックスパスにリダイレクトされるのか、b)有効なルートではないと表示されますが、正確に更新するとページが正しく読み込まれるURL。

複数のオプションを試しましたが、解決策がわかりません。

助けてくれてありがとう。さらに情報が必要な場合はお知らせください。

psここに私のレーキルートがあります:https ://gist.github.com/1077134

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

ruby-on-rails - Railsのネストされたルートがフィルタリングされない

Product と ProductType の 2 つのモデルがあります。

製品:

製品タイプ:

私のroutes.rbには、次のものがあります。

rake routes を実行すると、次の URL が存在することがわかります。

私が抱えている問題は、http://localhost:3000/postering_locations/48/usersに移動すると、ID 48 のポスタリング場所を持つ単一のユーザーが表示されることです。問題は、それが他のすべてのユーザーも表示されます。48 を有効な別の番号に変更すると、同じことが起こります。テーブルに存在しない番号に交換すると、ルーティングエラーが発生するため、部分的に機能しているように感じます。/postering_locations/48/users を実際に postering_location ID として 48 を持つユーザーを表示する方法について何か考えはありますか?

また、routes.rb で /products/ だけを表示できるようにしたい場合は、routes.rb のどこにリソース :products を追加すればよいですか?

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

ruby-on-rails-3 - Rails 3: 名前付きパラメーターのルートが link_to を壊す

ユーザーをグループとサブグループに分割し、各サブグループにカスタマイズされたサイトを提供する Rails アプリを作成しようとしています。これを行う最も簡単な方法は、名前付きパラメーターを使用してスコープを作成することだと考えました。

"rake routes" は次のように生成します:

link_to を使用する場合を除いて、完全に機能します。

次に、このエラーがスローされます

もちろん、8 行目は link_to を使用しようとした場所です。私の推測では、link_to はスコープを無視しており、current_user が :group パラメータに詰め込まれていることを説明しています。これが起こらないようにする方法はありますか、それともこの問題全体について完全に間違っていますか?