問題タブ [url-for]
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 - url_for メソッドの違いは何ですか?
これら2つの方法の違いは何だろうと思っています:
ActionView::Helpers::UrlHelper.url_for
と
ActionController::UrlWriter.url_for
?
ruby-on-rails - Rails: ActionMailer ビューで完全な URL を生成する
ActionMailer を使用してサインアップ確認メールを送信しています。電子メールには、ユーザーを確認するためにサイトに戻るリンクを含める必要がありますが、Rails に完全な URL (ドメインなどを含む) を生成させることはできません。
私は使用しています:
私からしてみれば
パート b:
開発モードでは、上記のリンクでホストの説明を指定しないと、Rails が不満を感じます。しかし、私は本番環境でこれを行いたくありません。解決策はありますか?
ruby-on-rails - Ruby on Rails:url_for:backはback_urlのNoMethodErrorにつながります
url_for(:back)を使用して、ユーザーのログイン時に前のページに戻るリダイレクトを作成しようとしています。
ユーザーが自分でログインページにアクセスするだけで、正常に機能しました。ただし、ユーザーの認証が必要なページにアクセスしたためにユーザーがログインページにリダイレクトされると、リダイレクトによって、ユーザーが不十分な権限でアクセスを試みる前に、ユーザーがページに戻されます。
ログインコントローラのアクションを変更して、リダイレクトを適切に処理しようとしています。私の計画では、強制リダイレクトが発生したときに使用されるクエリ文字列パラメータ「redirect」を使用する予定です。コントローラでは、そのパラメータが存在する場合、そのURLが使用されます。それ以外の場合は、url_for(:back)が使用されます。それが機能しない場合(HTTP_REFERERがないため)、ユーザーはサイトのホームページにリダイレクトされます。
このロジックを実装することになっているコードスニペットは次のとおりです。
私が得るエラーは次のとおりです。
以前に動作させていたことを覚えておいてください。url_for(:back)は、このロジックを追加する前に正しく動作する方法を知っていました。
アイデアをよろしくお願いします!
ruby-on-rails - クラスProfilePresenter<ActionView:: Base | url_forは機能しません。なぜ?
url_forは機能しません。なぜ?
このような新しいインスタンスを作成します
ruby-on-rails - url_forがこれを私が思うようにレンダリングしないのはなぜですか?
私は私のコントローラーにこれを持っています:
そして私の見解では:
URLは私が期待するものではありません。
それ以外の
ただし、これは手動で行っただけで、正しいURLを取得します。
ここで何が欠けていますか?
ruby-on-rails - Rails3: サブドメインのサポートのために url_for を書き直し、そのような url_for を使用するようにアクション メーラーを拡張する方法
サブドメイン RailsCastからコードを取得します
url_for
コントローラーのビューで変更を使用しても問題ありません。しかし、私は ActionMailer に問題があります。
私は以下を使用しようとしました:
しかし、ActionMailer のビューは、ActionDispatch::Routing::RouteSet の古い変更されていない url_for を引き続き使用します。
新しい url_for を追加するベスト プラクティスは何ですか
ruby-on-rails - 現在の記録に基づいて既知のアクションの Rails パスを作成する
テンプレートの一部として、application_controller で作成される自動リンクをいくつか示します。これらのリンクのいくつかは、表示ページから対応する編集ページへの直接のナビゲーションを提供します。
私の現在のコードには以下が含まれます:
これは、routes.rb ファイルに子リソースが定義されていることを除けば、うまく機能します。
この場合、次の場所に移動する代わりに:
にナビゲートします
これは有効なルートではありません。
これを達成する方法についてのアイデアは大歓迎です。可能な限り特別なケースを避けたいと思っています。
ruby-on-rails - Rails url_for と名前空間モデル
Rails では、モジュール内のモデルに名前を付けてから正しい動作を取得することは可能url_for
ですか?
たとえば、ここでurl_for
は期待どおりに動作します。
User
モデルをモジュールに入れた後url_for
、未定義のメソッドについて不平を言うm_user_path
:
url_for
モジュールを無視して代わりにM::User
返すことは可能ですか?user_path
url_for(@user)
m_user_path
アップデート
それで、ほぼ5年後、esadのおかげで解決策がここにあります. これは Rails 4.2 でテスト済みです。
注: を使用してモデル、ビュー、およびコントローラーを生成する場合、ビューとbin/rails g scaffold m/user
コントローラーにも名前空間が付けられます。app/views/m/users
に移動する必要がapp/views/users
ありapp/controllers/m/users_controller.rb
ますapp/controllers/users_controller.rb
。M
また、モデル以外のすべてのモジュールへの参照を削除する必要がありますM::User
。
最後に、ここでの目標は名前空間モデルであり、ビューとコントローラーではありません。esads ソリューションでは、モジュールM
(を含むUser
) はルートに表示されないように明示的に指示されます。したがって、事実上、M
は取り除かれ、User
残るだけになります。
ユーザーモデルは に常駐できapp/views/models/m/user.rb
、ユーザーコントローラーは にapp/views/controllers/users_controller.rb
あり、ビューは にありますapp/views/users
。
ruby-on-rails - url_for? でパラメーターをクエリしますか?
動作し、生成してい/comments/123/edit
ます。ここで、クエリ パラメータを追加する必要があります。
それは
やってみurl_for([:edit, @post], :qp => "asdf")
たけどダメ。
ruby-on-rails-3 - Rails url_for Gravatar ルーティング エラー
この関数は application_help.rb で定義されています。
ビューで使用されます:
場合によっては、その使用によりルーティング エラーが発生します。
エラーが発生したときに有効な電子メールが提供されています。
url_for() をこのロジックに置き換えると、期待どおりに動作します。
** 編集 ** routes.rb ファイルから次の行を削除しました。
「レガシーワイルドコントローラールート」なしで url_for を機能させる方法はありますか?