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

ruby-on-rails - Rails3Routes-パラメーターをメンバールートに渡します

リソースのメンバールートに追加のパラメーターを渡したい

何かのようなもの:

静的一致ステートメントを使用してのみそれを達成できました

インターネットを見回すと、これはRails3.0.2で可能かもしれないことがわかりました。私は3.0.1を使用していますが、実際には使用していません。

私は何か間違ったことをしていますか?それとも本当に不可能ですか?

ありがとう

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

ruby-on-rails - csvの非リソースのRailsルート

「リビジョン」というメソッドがあり、同じロジックを使用して csv に出力できるようにしたいと考えています。FasterCSV gem を使用したいと思います。必要なのは、html と csv の両方の出力のルートを取得するためにルートに追加するものです。URLを次のようにしたいと思います:

考え?

どうもありがとう!

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

asp.net-mvc - ASP.NET MVC2 ルートの制約 - オプションの数値 ID パラメーター

ASP.NET MVC2 プロジェクトで既定のルートを設定しており、他のコントローラーの一部に対してそれを追加/変更したいと考えています。「id」パラメーター (int) を期待する Details アクションを持つ Customer コントローラーがあるとします。例えば:

ユーザーが「数字以外」を入力した場合に 404 を返すルートを追加するにはどうすればよいですか? 次の「前」のデフォルトルートを追加しようとしましたが、うまくいきませんでした...

可能であれば、デフォルトルートを維持したいことに注意してください...すべてのコントローラーは、「id」(int)パラメーターが必要な「詳細」と「編集」を使用します..達成する方法があるかどうか疑問に思っていますこれは、複数のルート (つまり、一般的なもの) を指定する必要はありません...そしてもちろん、ユーザーが「/Customer/Details/apple」のようなものを入力すると、エラーはスローされず、エラーページに移動することが目標です.. .

デフォルト値を設定することを示唆するこの投稿もありますが、その方法がわかりません...

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

ruby-on-rails-3 - Rails3 カスタム コントローラ メソッドがルーティングされていません: Rails2 で動作します

取り組んでいるプロジェクトに Rails 2.3.8 を使用していましたが、プロジェクトを Rails 3.0.3 に移行したばかりです。基本的なバグを解決した後、カスタム コントローラー メソッドで問題が発生しました。

gallery_controller には、「extract」というカスタム メソッドがありました。Rails 2.3.8 では、これは問題なく機能し、追加の構成はありませんでした。/galleries/extract/:id に移動すると、やりたいことが実行されます。

フォーム内の元のコードを使用してアプリへのリンクを作成しようとすると、そのコードによってアプリが壊れます。

このコードを含むページに移動しようとすると、次のエラーが表示されます。

routes.rb を見た後、これが失敗したのではないかと疑うようになりました。

は含まれておらず、実際には推奨されていません。

rake タスクの実行 | grep 'extract' では何も得られません。

では、どうすればこれを修正できますか?

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

ruby-on-rails - RoR カスタム ルーティング/メソッド/ビューの問題 すべてのメソッドが未定義として返される

カスタムビューとルートで遊んでいます。私はすべてが正しいと思いますが、明らかにそうではありません。基本的に、show メソッドと show.html.erb をコピーしようとしましたが、何らかの理由で機能しません。

私のコントローラー

私のルート.rb

私が行くとき

127.0.0.1:/父/1

それは正常に動作しますが、私が行こうとすると

127.0.0.1:/父/1/ofmine

次のエラーが発生します。呼び出される変数/メソッドは関係ありません。最初に表示されるときに発生します。show.html.erb と show2.html.erb はどちらもまったく同じファイルです

ウェブサーバーのコマンドラインからの私のエラー

実際のページに表示されるエラー

Fathers#show2 の NoMethodError

7 行目が発生した /var/ruby/chs/app/views/fathers/show2.html.erb を表示:

nil:NilClass の未定義のメソッド `name'

抽出されたソース (7 行目あたり):

4: 名前 5:
6: 7: <%= @father.name %> 8:
9: 10: CityState

誰かが私が間違っていることを教えてくれたら、とても感謝しています。

ここに私のレーキルートのコピーがあります

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

ruby-on-rails - Rails 3 - 新しいコントローラーのアクションとビューを作成しましたが、ルーティングできません

Rails3を使っています

subscriber_controller.rb というコントローラーがあります

「def houston」というアクションを追加し、これをルートファイルに追加しました

しかし、目標である「http://localhost:3000/houston」にアクセスしようとすると、エラーが発生します

ルーティング エラー "/houston" に一致するルートがありません

コントローラーで正しいアクションを見つけ、URL をhttp://localhost:3000/houstonとして機能させるには、routes ファイルに他に何を追加する必要がありますか?

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

ruby-on-rails - Rails 3 の疑似複雑ルート

Rails 3 で、ルート :id が都市であり、:city_id/:id が場所であると想定する 2 つのカスタムマッチャーを使用して、いくつかの素敵でシンプルなルートを作成しようとしています...編集しようとする場合を除いて、正常に動作するようです.

すなわち。

より正確にするための私のコードは次のとおりです。

レコードを編集しようとすると、完全に受け入れられるようです。html は以下のとおりです。

プロデュース:

次の場合にのみ機能します。

これを回避するために、より高度な form_for ルートを明示的に提供するだけでよいことはわかっていますが、パッチを適用するよりも私の人生を楽にするために、routes.rb で何か良いことがないか疑問に思っています。

ありがとう

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

ruby-on-rails - rails 3ルーティングの質問(ルーティングエラー「ルートが一致しません…」)

私はruby1.9.2とrails3を使用していますが、ルーティングに関して適度に単純な問題が発生していると思います。

というモデルがありAdvancedQueryます。そのコントローラーはAdvancedQueriesControllerです。 ルーティングを除いて、ほとんどすべてが標準のレール方式で行われます。URLの名前を変更したかったのですが、他にもいくつか変更したかったのです(以下を参照)。

これが私のroutes.rbファイルの関連部分です

AdvancedQueryを使用するときに期待する動作は次のとおりです。

  1. ユーザーはhttp:// localhost:3000 / advanced_query(get request)にアクセスし、ブラウザーはで「new」メソッドを呼び出しますadvanced_queries_controllernew.html.hamlがレンダリングされ、ユーザーに入力する標準フォームが表示されます。
  2. 次に、ユーザーは検索フォームにデータを入力し、[送信]を押します
  3. 「Submit」は「create」メソッドを呼び出し、データベースに「AdvancedQuery」レコードを作成します。AdvancedQueryオブジェクトには32文字のハッシュが関連付けられており、1)クエリを識別し、2)結果のURLの一部として使用されます(手順4を参照)。
  4. createメソッドは、AdvancedQueryオブジェクトを使用して2番目のモデル(BusinessModelと呼ばれる)を検索する「search」メソッドにリダイレクトします。次に、サーバーsearch.html.hamlはAdvancedQueryの結果をレンダリングして表示し、ユーザーが新しい検索を実行したい場合に備えて、結果と同じページに元のフォームを再レンダリングします。ここで生成されるURLは次のとおりです。http:// localhost:3000 / advanced_query / blah(ここで、blahは、クエリに特に関連付けられている32文字のハッシュです)。
  5. ここで、ユーザーはステップ3で生成されたWebページのフォームを使用して新しい検索語を入力します。ユーザーは「送信」を押すと、「作成」メソッドが再度呼び出されます(つまり、ステップ3と4をやり直します)。つまり、新しいAdvancedQueryを作成します。

これが実際に起こることです:

手順1〜4は期待どおりに機能します。ステップ5でルーティングエラーが発生します"No route matches "/advanced_query"

new.html.hamlとファイルの両方がsearch.html.haml同じ部分をレンダリングします(と呼ばれます_form.html.haml)。

したがって、を見ると_form.html.haml、実際には何も問題はありません。

これが私のコントローラーの関連部分です

ルーティングエラーの原因について何か考えはありますか?

ありがとう!

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

routes - ASP.NET MVC は、残りのルート URL をキャッチします。

ASP.NET MVC で "残りをキャッチ" ルートを作成する方法を知りたいですか?
フォーマットされた URL を取得し、その値に対してデータを読み取り、リンクの残りを取得して変数に保存し、後でそれを読み取ってリンクを生成できるようにする必要があります。
blog.mydomain.com/linker/process/2612010/2828/en/articles/october/asking-the-overflow/madd.aspx

読み方:
memberid = 2612010
memberrating = 2828
language = en
restofurl = "articles/october/asking-the-overflow/madd.aspx"


またはこのリンク: blog.mydomain.com/linker/process/2612010/2828/en/articles/october/read.aspx?m=828

次のように読みます:

memberid = 2612010
memberrating = 2828
language = en
restofurl = "articles/october/read.aspx?m=828"


また

blog.mydomain.com/linker/process/2612010/2828/en/articles
to:
memberid = 2612010
memberrating = 2828
language = en
restofurl = "articles"


私は次のようなことを考えました:

このルートはリンクの残りの部分を正しく取得しますが、末尾の URL パラメーターを省略します: blog.mydomain.com/linker/process/2612010/2828/en/articles/october/read.aspx?m=828

また、 articles/october/read.aspxのみ
を「restofurl」値として表示します。
古典的な url get params assignet は何にも必要ありません。ただ、それらをrestofurl変数の一部にしたいだけです。

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

ruby-on-rails - Rails 3 で SEO フレンドリーな URL を作成する

現在、次のような URL があります。

そして、次のような URL が必要です。

Rails 3に、ルーターのすべてのカテゴリと国をハードコーディングせずに、上記のようにURLを設定する方法はありますfind_by_nameか? これにアプローチする最良の方法は何ですか?