問題タブ [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 投票する
3 に答える
1297 参照

ruby-on-rails - ネストされたリソースを使用して Rails ビューをドライアップする

製品など、ネストされていないモデルとネストされているモデルがある場合、問題の解決策は何ですか?

「製品」は「イベント」に属することができ、製品は単に独立していることもできます。

これは、次のようなルートを持つことができることを意味します。

あなたの見解でそれをどのように適切に処理しますか?

注: これは管理パネル用です。チケット (製品)、フォームを作成し、誰が応答したかを確認するためのサイド パネルを備えた「イベントの作成」ページを作成できるようにしたいと考えています。「イベント チケット」サイド パネル ボタンをクリックすると、 に移動します/events/my-new-event/tickets。しかし、管理パネル用のルート「製品」タブもあり、チケットやその他のランダムな製品を一覧表示できます。「チケット」ビューと「製品」ビューは 90% 同じように見えますが、チケットにはそれが属するイベントに関する情報が含まれています。

次のようなビューが必要なようです。

  • 製品/index.haml
  • 製品/show.haml
  • イベント/製品/index.haml
  • イベント/製品/show.haml

しかし、それは DRY ではないようです。または、製品にイベント ( @product.event.nil?) があるかどうかを確認するための条件付きチェックを行うこともできますが、ビューが理解しにくくなります。

これらの状況にどのように対処しますか?

本当にありがとう。

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

ruby-on-rails - ネストされたリソースのテスト RSpec

私は2つのモデルを持っています:

次のルーティングを使用します。

ここにSolutionsControllerがあります:

index アクションのテストを書くのを手伝ってくれる人はいますか? これまでのところ、次のことを試しましたが、うまくいきません。

そして、次のエラーが表示されます。

すべての助けを前もって感謝します。

ジョー

編集:

答えてくれてありがとう、別のエラーが発生していることを除いて、私はそれを受け入れました。

ソリューションをビルドする代わりに作成し、User.find のスタブを追加すると、次のエラーが表示されます。

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

ruby-on-rails - RSpec、ネストされたリソースメソッドのスタブ

私は2つのモデルを持っています:

そして私はこのようなユーザーの中にソリューションをネストします:

そして最後に、私が指定しようとしているアクションは次のとおりです。

私の質問は、一体どうやってスペックするの@user.solutions.find(params[:id])か ということです。

これが私の現在の仕様です:

しかし、それは私に次のエラーをもたらします:

誰かが私がスタブする方法を手伝ってくれます@user.solutions.new(params[:id])か?

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

ruby-on-rails - サブリソースを含むRails「NoMethodError」

私は初心者のRails開発者であり、CityControllerの「new」アクションにアクセスしようとすると次のエラーが発生します。

いくつかの背景として、私は多くの都市を持つ州モデルを持っています。州のショーページからの次のリンクをクリックすると、このエラーが発生します。

'rake:routes'を実行すると、これは正当なルートであると表示されます...

詳細については、CityControllerの「新しい」アクションを次に示します。

ビューの(完全な)フォームは次のとおりです。

これは最初、「cities_path」についての言及が戻ってきたので、リソース/ルートの問題だと思いました(実際、Stack Overflowに投稿している別の人が間違っていたのです(Railsエラー「NoMethodError」-私の最初のrubyアプリ)。しかし、私が見ることができるものからはそうではないようです。ルートファイルでのリソースの外観は次のとおりです。

サブリソースでない場合でも機能させることができますが、アプリを使用した将来の計画のために、サブリソースとして保持する必要があります。私が認めるよりも何時間もこれに頭を悩ませてきたので、どんな助けでも大歓迎です...ありがとう!

(これがまったく問題になるかどうかはわかりませんが、私はRails 3 beta2の最新バージョンを実行しています)。

0 投票する
4 に答える
1347 参照

ruby-on-rails - Rails3とActiveRelationで見つかります

Rails 3の新しいアレルエンジンを理解しようとしていますが、質問があります。

ユーザーとタスクの2つのモデルがあります

これが関係を暗示する私のルートです:

これが私のタスクコントローラーです。

問題は、新しいアクションを呼び出そうとすると、次のエラーが発生することです。

私の問題は新しいアレルエンジンにあると確信していますが、私が間違っていることを誰かが理解していますか?

申し訳ありませんが、これが私のschema.dbファイルです。

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

ruby-on-rails - ネストされたリソースを使用した Rails のネストされたフォーム: 新しい has_many を作成するときに、belongs_to 関連付けを更新します

入れ子になったフォームの特定のユース ケース (私は Rails 2.3.5 を使用しています) で、壁に頭をぶつけてきました。

基本的に、私はこのようなプロジェクトと支払いモデルを持っています

また、次の 2 つのリソースに対してネストされたルーティングを使用しています。

新しい支払いを作成するときに、ユーザーがプロジェクトの特定の属性を変更できるように、ネストされたフォームを使用しようとしています。たとえば、プロジェクトにタイトルがある場合、新しい支払いを作成するためのビューは次のようになります。

Payments コントローラーはほぼ標準です。

私が見つけたのは、新しい支払いフォームで、次のような結果になっていることです。

(自動的に作成された #payment_project_attributes_id に注意してください)

フォームが送信されると、Rails は次のように受け取ります (プロジェクト #56 が既に存在することに注意してください)。

ここに問題があります。これがコントローラーを介して実行される場合、支払いのプロジェクトに title 属性が適用されません。

奇妙なことに、その"id"="=>"56"を削除すると、プロジェクトのタイトルが更新されます。コンソールを使用した例を次に示します。

(ID のない 2 番目の payment.new により、p.project.title が更新されることに注意してください)

これは、このチケットと直接矛盾しているようです: https://rails.lighthouseapp.com/projects/8994/tickets/3687-nested-attributes-with-belongs_to-only-supports-one-use-case

誰か考えがありますか?

私が実際にやろうとしていることは、より複雑なレイヤーであることに注意してください。プロジェクトの user_attributes を更新しようとしています (belongs_to :user/accepts_nested_attributes_for :user をプロジェクトで使用)。私がこれを理解できればうまくいくでしょう。

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

ruby-on-rails - Rails-2人の親を持つネストリソース

2つの親モデルを持つ子モデルがあるとします。

ルートはマップされるため、チケットは常にイベントまたはパーソン内にネストされます。

親リソースでticket_ControllerCRUDアクションのスコープを設定するにはどうすればよいですか?

現在、パラメータをテストし、条件文を使用しています。

これは、すべてのアクションに対して行うのが少し面倒なようです。それを行うためのより多くのレール-yDRYの方法はありますか?

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

ruby-on-rails-3 - Rails 3 でポリモーフィックなネストされたリソースを管理するためのヒントはありますか?

config/routes.rb:

コメントできる内容をもっと増やしていきたいです。

私は現在mongoidを使用しています(mongomapperはまだRails 3と互換性がありません)。コメントは埋め込みリソースです(mongoidはまだポリモーフィックリレーショナルリソースを処理できません)。つまり、親リソースが必要ですコメントを見つけるためです。

次の問題のいくつかを処理するエレガントな方法はありますか?

私のコントローラーでは、コメントを見つける前に親を見つける必要があります。

コメント可能なものをさらに追加し始めると、面倒になります。

またurl_for([comment.parent, comment])、機能しないため、モデルで何かを定義する必要がありますが、モデルでインデックスルートを定義する必要があるだけでなく、編集および新しいルート定義Commentを定義する必要があると思います.Comment

先に進むにつれて、対処しなければならない問題が増える可能性があります。

私がこの問題を解決しようとした最初の人だとは想像できません。これをより管理しやすくするための解決策はありますか?

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

ruby-on-rails - レールでネストされたリソースに残りのルートを追加する方法

多くのリンクを持つウィジェットがあります。ルート ファイル内:

リンクに「並べ替え」アクションを追加したい。書くことができるように、ルートファイルに何を追加する必要がありますかsort_widget_links_path(widget)

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

ruby-on-rails - Rails3-ネストされたリソースでのエラー検証

Rails 3でエラー処理を処理する方法に本当に苦労しています。うまくいく可能性のあるいくつかのアイデアをハッキングしましたが、適切な方法で処理したいと考えています。誰かが助けたり指導したりできるなら、私はそれをいただければ幸いです。これが私がこれまでに持っているものです

ItemController

NoteController

items / show.html.erb

私が試してみました

エラーを処理するためのテンプレートもあります

を含む

リダイレクトでエラーが失われていると思いますが、メモの作成で失敗した保存からアイテムコントローラーをリダイレクトまたはレンダリングする方法を完全に理解できないようです。エラーのグローバルテンプレートを渡せるようにしたいと思います。 @noteとそれはエラーをレンダリングします