問題タブ [rails-routing]
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 - 基本的な Rails 3 ルーティングの質問
私が取り組んでいるRails3アプリケーションでいくつかのきれいなURLを作成しようとしています...しかし、これを機能させるためにルートをカスタマイズする方法を理解するのに苦労しています。
次に例を示します。
ストアのリストがあります。各店舗はカテゴリ (健康、スポーツなど) に分類されます。各店舗には場所があります。
データを提示する方法は 2 つあります。1 つの表示はディレクトリ タイプ構造のすべての店舗のリストであり、もう 1 つは地図上です。
理想的には、URL が次のように機能することを望みます。
/stores/health/map (または /stores/map/health) を使用して、マップ上にヘルス ストアのみを表示します (基本的にマップ パラメーターは表示されるビューに影響しますが、コレクションを使用する Index コントローラーを使用します)。私のルートでは合わないようです)
もう 1 つの URL は /stores/sports/ で、スポーツ ストアのみをディレクトリ ビュー (デフォルト) で表示します。たとえば、...
これを処理するためにルートを操作する方法が完全にはわかりません...
これが私の現在のルートですが、実際にはそれを行っていません:
その上で、?query=params を使用せずにフィルターを追加できるようにしたいので、次のようにします。
/stores/sports/hockey 、本質的にホッケー店のみを除外します...
?query でこれを行うことに問題はありません。達成しようとしているより良い URL にパラメーターを配置するだけです。
ドキュメントは私がやろうとしていることの概要を説明していないようですので、私がやろうとしていることは間違っていると思います.
これは REST を壊していますか? 私はそれをすべて後ろ向きに見ていますか?
助けてくれてありがとう、JD
ruby-on-rails - 長いクラス名でのRailsルーティングエラー
Railsの複数形化とキャメルケースで混乱します。特に私の長いが明確な名前で。
User
モデルとモデルがありAccount
ます。またuser_to_account_log_history
、2つの間の転送を保存するためのモデルとコントローラーもあります。関係が設定されています。
私は走った...
...これは次を作成しました:
私のルートは適切に配置されているようです(rake routes
出力、切り捨て):
しかし、私はを取得していuninitialized constant UsertoaccountloghistoriesController
ます。なんで?物事を台無しにするのは、長い名前のキャメルケースと複数形だと感じます。
ruby-on-rails-3 - POSTフォームをきれいなURLにRails
それらの「私は明らかに何か間違ったことをしている」瞬間の1つを持っています。基本的なことをやろうとしていて、フレームワークと戦っているような気がするので、助けを求めています!
Rails 3を使用していますが、クリーンなURLのページを表示する検索フォームを作成する方法について少し混乱しています。
私のアプリケーションでは、任意の場所から別の場所へのルートから検索できます。
たとえば、有効なURLは/ routers / A / to /B/または/routes/Bになります。
私のroutes.rb:
私の検索フォーム:
コントローラ:
で使用する:method => 'get'
とform_tag
、アプリケーションは機能しますが、URLは恐ろしいものです。そしてもちろん、を使用する:method => 'post'
と、変数は表示されなくなります。これはブックマークに適していません。フォームをPOSTした後、きれいなURLを使用するようにRailsに指示するにはどうすればよいですか?
私はRailsで非常に新しいので、あなたの忍耐に感謝します。
ruby-on-rails - Rails 3ルートが間違ったコントローラに
新しいアクションを作りたくて、それを「showemployees」と呼んでいます。それは私がすでにやったことです:
-> コントローラーで:
-> app/views/employees/showemployees.html.erb の作成
-> config/routes で
match "/employees/showemployees" => "employees#showemployees"
localhost:3000/employees/showemployees経由で showemployees.html.erb を開くにはこれで十分だと思いましたが、Rails は引き続き show アクション (リソース :employees から) をルーティングし、showemployees アクションを実行しないようです。教えてくれるから
Rails が showemployees アクションを実行するには、何を変更する必要がありますか?
私のルートのソースコード:
ruby-on-rails - Rails 3: Rails コードのルーティング エラーをチェックする
私のウェブサイトにはたくさんのコースがあります。「コースに行く」フォームがあります。ユーザーが有効なコース名を入力すると、そのユーザーをそのコースページに正常にリダイレクトします。
これは、ルートが存在する場合のすべての有効な入力に対して機能します。ユーザーが無効なコース名を入力すると、無効なルートが発生するエラーケースに対処したいと思います。コード内のルーティング エラーをチェックし、エラー メッセージでユーザーに知らせたいと考えています。これは可能ですか?」
ruby-on-rails - ルーティングに関する質問
テーブルのすべてのレコードを読みたい。これは私のコードです
コントローラ:
意見:
およびルーティングファイル:
CRUDについて理解したように、リソースのみを書き込む必要があります:vorlesungs。しかし、私のコードは一致しないと機能しません'vorlesungs' =>'vorlesungs#list'誰かがその理由を教えてくれませんか?
ruby-on-rails - Rails 2 の更新中 Rails 3 へのルーティング
こんにちは、レールのルーティングに少し手こずっています。
これは Rails 3 のルーティングではどのように見えるでしょうか?:
ruby-on-rails-3 - Rails 3名前空間ルーティングエラー-ルートは存在しますが、機能していません
これは修正されました。私が書いた別のビューからコピーしたときに、:method=>フォームヘルパーを残したと思います。誤警報。
Rails 3アプリケーションに「rakeroutes」に表示されるルートがありますが、ルート一致なしエラーが発生します。
current_userが管理する会社の下に新しいユーザーを作成および追加するための名前空間ルートを作成しようとしています。名前空間は「会社」です。この操作を処理する必要があるコントローラーは「users_controller」であり、controllers->companyフォルダー内にあります。
私のroutes.rbファイルには次のコードが含まれています:
app-> controllers-> companyフォルダーの下のusers_controller.rbには、次のコードが含まれています。
app-> views-> company->users->create.html.erbの下にある作成アクションのビューには次のものが含まれます。
そして最後に、「rakeroutes」コマンドを実行すると次のようになります。
'new'アクションは問題なくレンダリングされます。フォームを送信した後に受け取るエラーは次のとおりです。
私は認証にdevisegemを使用しており、必要に応じてアプリケーションの詳細を提供できます。これまでのところ、私が追加した他のすべてはうまく機能します。名前空間の定義方法と関係があると思います。私はまだレールにかなり慣れていません。これは名前空間ルーティングの最初の試みです。
提供した情報が多すぎたり少なすぎたりした場合は、お詫び申し上げます。どんな助けでも大歓迎です。
ruby-on-rails - スコープ指定されたリソースに一致するルートがありません
rails new example
rails g scaffold widget
rake db:migrate
- routes.rb を次のように編集します。
scope ":year" do resources :widgets end
curl http://0.0.0.0:3000/2011/widgets
成功していますecho "Widget.new.save" | rails c
curl http://0.0.0.0:3000/2011/widgets/1
成功しています- しかし、次のエラーで失敗します。
curl http://0.0.0.0:3000/2011/widgets
No route matches {:action=>"show", :controller=>"widgets", :year=>#<Widget id: 1
...など
アクションが「表示」であると考えるのはなぜですか?年がウィジェットインスタンスであると考えるのはなぜですか? 非常に奇妙な。Rails 3.0.9 と 3.1.0.rc6 でも同じ結果が得られます。
よろしくお願いします。
ruby-on-rails - オプションのパラメータを使用したルーティング
ルートファイルに追加しました:
私も追加しました:
年を指定せずに最新の本を表示します。
しかし、それは機能しません。私が年を過ぎないと、「show_book/NAME」でルートを見つけることができません。
なぜそれが機能しないのか、いくつかのアイデアがありますか?
ありがとう !
PS。「?year = XXXX」でパラメータとして年を使用できることは知っていますが、URLの一部として年を使用したいと思います