問題タブ [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.
ruby-on-rails-3 - インデックスからのネストされたリソース リンクが機能しない
投稿のインデックスがあり、それをスライドのインデックスにリンクしたいのですが、何らかの理由でこのエラーが発生し続けます
これとリンクすると
投稿編集ビューアーで上記の同じリンクを使用すると、問題なく動作するようです....何か提案はありますか?
私は基本的にこれにリンクしたいと思います....../posts/:id/slides 投稿の私のテーブルから
ルート.RB
ポストモデル
スライドモデル
ポストインデックスビュー
ポストコントローラー
スライドコントローラー
ruby-on-rails - モジュールプレフィックスルートパスのないRailsネームスコープモデルオブジェクト
Railsルーターとフォームジェネレーターに少し問題があります。私のアプリケーションには、モデルとコントローラーの名前空間モジュールがあります。モジュールは、別のプロジェクトへの抽象化を容易にするために使用されます。
routes.rb
「醜い」パスヘルパーがないため、名前空間の代わりにスコープメソッドを使用しています。
次のようになります。
問題は、分類法(url :)を編集したいときtaxonomies/1/edit
に、エラーが発生することです。
私のルートは代わりにtaxonomy_path
form_for @taxonomy
そのルートがスコープされていることを認識するためのリーチ方法はありますか?未使用form_for @taxonomy, url: taxonomy_path(@taxonomy)
で硬化しません。内のコントローラーメソッドの@taxonomyオブジェクトは、respond_with @taxonomy
常にtaxonomy_taxonomy_url
私のモデル:
およびコントローラー:
ruby-on-rails - Rails で無効なリソース ルートを修正する
Rails でネストされたリソース ルートを操作しているときに気づいたことの 1 つは、子リソースが存在するルートにユーザーがアクセスすることは技術的に可能である (したがって正しく表示される) ことですが、親リソースの ID は、実際には子リソースに関連していません。
たとえば、 routeでは、に対応する投稿を行わなかったユーザーを表すusers/:user_id/post/:id
route を入力できます。:user_id
:id
ユーザーが無効な URL にアクセスした場合に、サーバーがユーザーを正しい URL にリダイレクトするようにするには、これを修正する最善の方法は何でしょうか?
これを処理するためにコントローラーにいくつかのコードを既に入れていますが、特に URL ヘルパーがアクションごとに異なるため、すべてのコントローラー アクションでパスを確認してからユーザーを適切な URL にリダイレクトする必要があるのはちょっと厄介です。
( edit_user_post_path(@user, @post)
, new_user_post_path(@user, @post)
)
もっと良い方法があるはずですよね?
ruby-on-rails - ネストされたリソースを処理できません
私にはそのような問題があります。2つのアクションしか必要ないため、すべてのリソースをネストする必要はありません。
最初-1つのWebサイトに関連するすべてのレポートを表示します。
2番目-すべてのレポートを表示します。
このようにroutes.rbのコードを書き直すと:
これが私の行動です:
ビューからのコード:
しかし、私がそれを呼んでいるとき、私はエラーを受け取ります:
私が間違っているのは何ですか?
ruby-on-rails - ネストされたリソースと作成されたルートの制限 :only および :except
皆さん、こんにちは。
ネストされたリソースとそのベストプラクティスについて、誰かが親切に助けてくれますか?
:events
ルートを と のみ:show
に制限したい:index
のですが、これは正しい方法ですか?
これは最善の方法ですか、それともより多くのRubyistがそのようなことを処理する方法ですか? の 2 行を追加しました。resources :events
または、すべてを 1 つのブロックに結合する方法はありますか?
前もって感謝します。
ruby-on-rails-3 - Backbone.js + Rails 3 の URL とネストされたルートを持つコレクション
Rails と Backbone.js の両方を使用して新しいアプリケーションを作成しようとしていますが、かなりの数のネストされたリレーションがあり、かなり難しくなっています。
Rails 側では、Ingredients と Allergens の間に HABTM 関係を使用しています。一連のアレルゲンに関連する成分にアクセスしようとしています. 計画は、配列を使用して Allergens テーブルをクエリし、その ID を取得してから、AllergensIngredients テーブルに対してクエリを実行して、Ingredients ID を取得することでした。
ルートは次のようにネストされます。
URL は「/ingredients/:ingredient_id/allergens」です。Railsでは素晴らしく機能します。バックボーン側では、コレクションを使用して URL '/allergens' でアレルゲンを取得しようとしましたが、Rails ルートに従って拒否されました (ルート '/allergens' は存在しません)。そこで、ネストされたルートの下にスタンドアロンresources :allergens
ルートを追加しました。これにより、Backbone への認識可能なルートが作成されましたが、Rails の allergens_controller.rb にはまだ問題が残っていました。
@ingredient は ID がないと見つからないためです。Backbone.sync と $.get を使用してみましたが、それでも URL が必要であり、最終的に Rails コントローラーを通過します。Rails や URL からの干渉なしに、Backbone を使用してデータベース内の単一のテーブルを照会するにはどうすればよいですか? 手伝ってくれてどうもありがとう!
ruby-on-rails - Form_For 未定義のメソッド パス
ネストされたリソースを試しています:
私のルート:
会話で機能する返信用のフォームを取得できましたが、返信を処理するためにコメントを取得するという複雑さを追加しています。
フォーム全体はすべて会話ショー パスの下にあります。
返信用の上記のフォームは正常に機能し、エラーは発生しません。コメント用の以下のフォームはエラーを受け取ります。
未定義のメソッド「reply_comments_path」
これがショーの会話コントローラーです。これが問題だと思うところです。
ただし、他の誰かがこれを行うことを提案しました:
しかし、それはルーティングエラーで終わっただけです:
新しいフォームを作成しようとすると、常にこの未定義のメソッドパスエラーが発生し、何が間違っていたかを常に忘れてしまいます。答えは決してルートではないようです。
編集:
コントローラーの作成セクションの下に、次のものがあります。
@reply = @conversation.replies.build が既存の返信を表示する機能を壊す理由がわかりません。nil を数値に変換できないというエラーが表示され、reply.created_at または reply.content が表示されません。原因が何であれ、私がこの問題を抱えている理由の手がかりになるかもしれません。ただし、私が使用している返信コントローラーでは
編集:
付け加えると、Stackoverflow は、私がここで達成しようとしていることと非常によく似た処理を行います。ただし、回答だけでなく質問にもコメントできる点が異なります。
ruby-on-rails - Rails3のルーティングエラー
私のビュー(index.html.erb)コードには次のものがあります。
目標は、各プロジェクトの概要をトゥームストーンDIV内に表示し、DIV全体をプロジェクトの詳細ページ(show.html.erb)へのリンクとして機能させることです。
私のコントローラーには次のものがあります。
ルートには次のものがあります。
は@project
、<%= link_to %>
コントローラーが定義するプロジェクトの詳細ページ(show.html.erb)ではなく、プロジェクト(index.html.erb)ページを指します。IDパラメータが渡されていないことは推測できますが、その理由はわかりません。
ruby-on-rails - ネストされたルートと一致するルートがない
users
、およびの 3 つのリソースがlists
ありitems
ます。リンクをネストlists
しusers
てそれに応じて更新しましたが、rspec から 2 つのエラーが発生していますが、これは完全な謎です。ルートをネストする前に、すべてが機能しました。
私はレールの初心者なので、どんな助けでも大歓迎です!
ルート.rb
user.rb
list.rb
item.rb
アップデート
user_pages_spec.rb
更新 2
users_contoller.rb
jquery - Rails ネストされた ajax ルート
次のような URL があるとします。
しかし、 Phases#show アクションを :remote => true リンクを介して projects#show ビューの div にロードしています。
ユーザーがアクセスhttp://domain.com/projects/14/phases/30
して、projects#show ビューをレンダリングし、フェーズ/30 のビューを指定された div に自動ロードできるようにします。
正しい方向に微調整する必要があるだけです。この問題に関する情報をオンラインで見つけるのに苦労しています。
ありがとう!