0

私は製油所の cms アプリケーションを構築しており、.NET Web サービスを使用する別のログイン画面を追加しようとしています。ただし、サービスを使用するためのコードは十分に単純でしたが、そのビューが実際に存在することを Rails や Refinery に認識させることができないため、URL に入力したルートが代替ログのビューに移動しません。で、理由がわかりません。私のビューのファイルは /views/sessions/dotnet.html.erb にあり、現在、私の sessions_controller.rb にはメソッドの定義が含まれています

class SessionsController < ::Devise::SessionsController
   .
   .
   .
  def create
    super
    rescue ::BCrypt::Errors::InvalidSalt, ::BCrypt::Errors::InvalidHash
      flash[:error] = t('password_encryption', :scope => 'users.forgot')
      redirect_to new_user_password_path
  end

  def dotnet
    .
    .
    .
  end
   .
   .
   .
end

コメント行のない routes.rb ファイルは次のようになります。

Quicksmile::Application.routes.draw do
   resources :sessions

   resources :dotnetwrappers

   match "/" => redirect("/new-practices")

end

ここここで方法を試しましたが、どちらも機能しませんでした。/views/sessions/dotnet.html.erb ファイルに対応する URL が実際に存在するように設定するにはどうすればよいですか?

4

1 に答える 1

1

実際に SessionsController#dotnet のルートを追加したようには見えません。

次のようなものが必要です。

Quicksmile::Application.routes.draw do
  resources :sessions
  get :dotnet_login => "sessions#dotnet", :as => "dotnet_login"

  # ...
end

次に、URL ヘルパーmain_app.dotnet_login_pathmain_app.dotnet_login_urlコード内を使用できます。

詳細については、Rails Routing Guideを参照してください。

于 2012-05-04T17:10:28.360 に答える