問題タブ [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 に答える
1501 参照

ruby-on-rails-3 - ネストされたリソースを持つRails form_for:「ルートが一致しません」

ファイルに次のネストされたリソースがありroutes.rbます。内部リソースはコントローラー名を指定します。

のビューでBatchesTags#new、フォームを作成しようとしています:

このページを読み込もうとすると ( /sets/1/tags/new)、次のメッセージとともに ActionController::RoutingError が返されます。

{:action="show", :controller="batches_tags"} に一致するルートはありません

しかし、 を実行すると、このルート存在する$ rake routesことが明確に示されます。

このエラーを修正する方法を知っている人はいますか?

編集:

のビューではBatches#show、同じbatch_tag_path関数を使用しており、完全に機能します。

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

ruby-on-rails-3 - 部分的にネストされたリソースフルなルートを設定するには?

Listings私の Rails サイトでは、ユーザーが売りたい商品を投稿します。他のユーザーはこれらのリストを閲覧し、リンクをクリックして販売者に連絡できますMessageThread

MessageThreadsのコンテキスト外で作成されることは決してないListingため、リソースの豊富なルートをネストしました。ただし、作成後にコンテキストを表示/編集する必要はありません。これは、およびアクションListingにのみ必要です。私は次のように設定しました:newcreate

アクションビューのform_for構文を理解できないようです...私は理解していますが、それは機能していません。これは、このオブジェクトを設定する正しい方法ですか? ルートをネストするのではなく、リスティング ID を URL のパラメーターとして渡す必要がありますか? または、リストの下にある message_thread を常に参照しますか?newMessageThreadsControllerform_for @message_thread

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

ruby-on-rails - Ruby on Rails form_for でパスエラーが発生

私の Ruby on Rails コードには、次のタスク用の edit.html.erb ファイルがあります。

次に、同じディレクトリに次のコードを含む _form テンプレートがあります。

問題は、編集ページに移動しようとするとエラーが発生することです。エラーには「undefined task_path」と表示されているため、Rails がタスクへのパスを適切に識別していないことがわかります。

プログラムの構造は、多くのタスクを含むリストがあり、各タスクにはリストがあります。routes ファイルは、次のように構造を宣言します。

/lists/:list_id/tasks/:task_id/edit でタスクを編集しようとしていることを form_for で特定するにはどうすればよいですか?

ご協力ありがとうございました!

0 投票する
3 に答える
1210 参照

ruby-on-rails - 複合主キー(id + parent_id)を持つRails3.1ネストされたリソース

次のように、routes.rbにネストされた2つのリソースが必要であると仮定します。

慣例により、 comments.idはコメントの主キーになり、comments.post_id外部キーになります。

主キー複合キー [comments.post_id、comments.id]である必要があります。

id == 1の個別の投稿の最初のコメントをすべて持つことができるように、id==2の個別の投稿の2番目のコメントごとに...

もちろん、コメント(子リソース)を参照するすべてのルートを、その投稿(親リソース)も参照せずに無効にする必要があります。

これは単なる例です。私の実際のプロジェクトはブログに関するものではありません(この問題は別の方法で処理しました)。互換性を実現するために、ネストされたリソースに対してこのような動作を実現する方法があるかどうかを知りたいです。レガシーデータベースを使用します。

ありがとうございました。

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

polymorphic-associations - Rails 3 のネストされたリソース、ポリモーフィックな関連付けとフォーム

当面の質問は、主要なトピックを扱います。

  1. ネストされたリソース
  2. ポリモーフィック アソシエーション
  3. フォーム

写真と記事があり、どちらにもコメントがあると仮定します。これにより、ポリモーフィック アソシエーションが作成されます。

コメントを追加および表示するビューは、写真と記事の間で共有されます。

また、リソースの写真と記事は、次のように他のリソースにネストされています。

上記のフォームでわかるように、ポリモーフィック リソースがありますが、リクエスト パスに応じて親リソースと祖父母リソースが必要です。ハードコードされている場合 (絶対にやらない)、form_for には次の 2 つのうちの 1 つがあります。

また

多くの記事や Stackoverflow の回答に見られるように、CommentsController から親を見つけることができると仮定します。

どうすれば祖父母を見つけて、これらすべてを form_for ヘルパーに入れることができるでしょうか?

よろしくお願いします!

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

ruby-on-rails - ネストされたリソースで不適切にルーティングされたRailsDestroyメソッド

ネストされたタスクを持つListオブジェクトがあります。個々のタスクを表示するページと、ユーザーが個々のタスクを編集できるページを作成しました。タスク編集ページのリストからタスクを削除する機能を追加したいと思います。次のコードを使用する

収量

このコードはshow.html.erbページにあります。@taskを呼び出してタスク内に保存されているすべてのデータを表示しているため、この問題は何らかのルーティングエラーである可能性がありますが、理解できないようです。アウト。

関連するコントローラーメソッドは

deleteメソッドを使用すると、指定した@taskがparamsを介してdestroyメソッドに送信されると思いましたが、このエラーは、これが正確に機能していないことを示しているようです。では、Railsでネストされたリソースを適切に破棄するにはどうすればよいですか?

編集: ネストされたリソースを含むルートファイルは次のとおりです。

ご協力ありがとうございました!

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

ruby-on-rails-3.1 - ネストされたリソースで「新しい」メソッドを呼び出すルーティング エラー

2 つのネストされたリソースがあります。

routes.rb には

新しい場所を作成するためのコードは次のとおりです。

新しい場所を作成しようとすると、次のエラーが表示されます

ルーティング エラー

{:action=>"show", :controller=>"locations", :customer_id=>#, :id=>#} に一致するルートはありません

「new」の代わりに :action=>「show」が呼び出されるのはなぜですか?

rake routes 出力は

location_controller.rb の新しいアクションのコントローラー コードは次のとおりです。

エラーがわかりません。正しく動作する別の 2 つのネストされたリソースがあり、すべてのコードをチェックしましたが、まったく同じように見えます... ?

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

ruby-on-rails-3 - RSpec でネストされたリソース コントローラーをテストする - カウントが 1 変化しない

ネストされたリソースがあります:

RSpec コントローラーに続いて: asset_actions_controller_spec.rb

Spec の実行中に次のエラーが発生しました。

この失敗の理由がわかりません。助言がありますか?

注: Rails 3.1.3、Ruby 1.9.3p5、RSpec 2.8.0

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

ruby-on-rails - Rails ルートは、ネストされたリソースで New アクションの Post リクエストを生成します

次のネストされたリソースがあります。

私のリスト/show.html.hamlには、

ここで、ボタンをクリックすると、Rails が POST リクエストを生成するため、エラーが発生します。

更新すると (GET 要求)、ページが正しく表示されます。

この誤ったルーティングは、accept と reject という 2 つのアクションを追加した場合にのみ発生すると思います。これはたまたま POST アクションです。

Rails のバグですか、それとも私のせいですか? このエラーを防ぐにはどうすればよいですか?

ありがとうございました。

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

ruby-on-rails - CanCan 深くネストされたリソース

私はroutes.rb次のようなものを持っています:

私のability.rb作品では、このようなもの、

しかし、浅いネスティングでは、より深いネスティングが問題になるようです。

最後の例と同じくらい深いネストを処理するために CanCan を取得する方法についてのアイデアはありますか?