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

ruby-on-rails - レールのコメント可能な form_for

「フォームの最初の引数に nil を含めたり、空にすることはできません」というエラーが発生し、答えが見つかりません。

基本的に、ユーザーのショーページに表示される投稿があり、それぞれにコメントするオプションが必要です。私のルートは次のとおりです。

ユーザー/show.html.erb

投稿/_post.html.erb

■ comments_controller.rb

C:/app/views/posts/_post.html.erb を表示しています。ここで 21 行目が発生しています: (21 行目は form_for 行です)フォームの最初の引数に nil を含めたり、空にすることはできません app/views/posts/_post.html.erb :21: _app_views_posts__post_html_erb___306000501_37434348' app/views/users/show.html.erb:19:inin_app_views_users_show_html_erb__480533737_37130988'

各投稿に show ページがある場合、@posts を show アクションに配置してインスタンス変数にすることはわかっていますが、各投稿には個別のコメント ダイアログ ボックスが必要なので、それほど一般的なものにすることはできません。ただし、投稿コントローラーを通過しないため、各投稿に固有にすることはできません。コメントにはacts_as_commentableを使用しています。理想的には、それらを汎用化し、すべての form_for コメントをパーシャルに入れたいと考えていますが、後でそれを理解します。

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

ruby-on-rails - NoMethodError (未定義のメソッド `build' #)

私は新しいレールプロジェクトでangularjsandを使用しています。InheritedResources gemこのプロジェクトでアソシエーションを使用したい。Singletonsとの関連を見つけますInheritedResources。2 つのモデルを作成し、以下のように完成させます。

districts_controller.rb:

calculations_controller.rb:

model.jsURLを作成し、angularjsデータをRailsアプリケーションに投稿するコードを持っています:

model.js:

私は以下のように設定しましたconfig/routes/rb

rake routes:

しかし、 からangularjsにデータを投稿するとrails application、データは Rails サーバーに受信されますが、Rails サーバーがデータをデータベースに保存しようとすると、以下のエラーが発生します。

なしで rails コントローラーを使用した場合、の代わりにメソッドInheritedResorcesを使用する必要があることはわかっていますが、この問題を解決するにはどうすればよいかわかりません。何か案が?!buildnew

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

ruby-on-rails - Ruby on Rails Inherited_resources 複数の belongs_to

このモデルを使用および処理するがcomments_controllerあります: 、および。 Rails 4.1.1および Inherited_resources v は 1.5.0 です。inherited_resourcesComment (belongs_to Shop and belongs_to User)Shop (belongs_to User)

ルートは次のとおりです。

ただし、以下のコードは機能しません。

コメントの作成/削除をテストするRspecが教えてくれますCouldn't find User without an ID

助けてくれてありがとう。

UPD失敗したテストの 1 つ:

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

ruby-on-rails - ActiveAdmin でネストされたカスタム ページを作成する方法は?

リソース内にネストされたカスタム ページを作成する必要があります。

ルートは次のようになります。
/admin/quizzes/:id/my_custom_page

問題は、 で使用できないことbelongs_toですActiveAdmin::Page

もちろん、手動でルートを作成することもできますが、AA がこれを処理してくれれば素晴らしいと思います。

ドキュメントには何も書かれておらず、コードはそれほど単純ではありません。:(

なにか提案を?

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

ruby-on-rails - 2 種類の URL http://ip:port/questions/:id と http://ip:port/questions/:id/:slug を同時に有効にする方法は?

stringexを使用して、stackoverflow のように、より使いやすい URL を実装しました。次に、次のように URL を有効にします。

もちろん、入力すると、さらにSOのステップが見つかりました

http://stackoverflow.com/questions/30683457

URLアドレスバーで、SOは対応する質問にリダイレクトします

http://stackoverflow.com/questions/30683457/why-i-got-the-error-couldnt-find-article-with-id-ni-hao-wo-zhen-de-henhaoma-w

しかし、私のアプリではfind_by_slug!()、レコードを取得していたので、入力http://localhost:8000/questions/12するとエラーがスローされます。

このような 2 種類の URL を同時に有効にするにはどうすればよいですか? ルート ルールを追加できるかどうか、追加できる場合はどうすればよいですか?

了解しました

特に、私の Rails アプリは、プラグインinherited-resourcesを含むsocial-stream engineに基づいており、デフォルトのメソッドを持っているため、次のようにオーバーライドします。inherited-resourcesfind_by_id()find_by_slug()

更新しました

Rails Routingに関するいくつかのマニュアルを読んだ後、入力すると にリダイレクトされるhttp://ip:port/questions/:idなど、 を有効にしました。http://localhost:8000/questions/12http://localhost:8000/questions/12/i-want-to-display-the-url-like-stackoverflowroutes.rb

これが正しい方法かどうかわかりませんか?

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

ruby-on-rails - 複数のパラメータをコントローラに渡すレール

「サービス」モデルを照会するためのルートがあります。

パスの GET リクエストを/services/sn-uber実行すると、param sn(サービス名) が取得され、データベースで検索されます。sd(service-district) のような別のパラメーターを追加するにはどうすればよいですか?

たとえば/services/sn-uber/sd-brooklyn/services/sd-brooklyn任意のパラメーターを省略できます。

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

inherited-resources - 継承されたリソースとオプションの belongs_to: ネストされたリソースではなく、親リソースでコレクションをスコープする方法は?

次のルートがあります。

モデルは次のBoilerplateようになります。

私のコントローラーは次のようになります。

URLを開いたときに、スコープ/boilerplates付きのボイラープレートをすべて表示したい。originals

URL/projects/123/boilerplatesを開いたときにoriginalsスコープがアクティブにならないようにしたい。

これはどのように達成できますか?