我正在构建一个炼油厂cms应用程序,我正在尝试在屏幕上添加一个使用.NET Web服务的备用日志。然而,虽然使用服务的代码很简单,但我似乎无法通过轨道或炼油厂来确认它的视图实际存在,因此我输入到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
我尝试了here和here方法,但都没有奏效。 如何设置以便实际存在与/views/sessions/dotnet.html.erb文件相对应的网址?
答案 0 :(得分:1)
看起来你实际上没有为SessionsController#dotnet添加路由。
你需要这样的东西:
Quicksmile::Application.routes.draw do
resources :sessions
get :dotnet_login => "sessions#dotnet", :as => "dotnet_login"
# ...
end
然后,您可以在代码中使用网址助手main_app.dotnet_login_path
和main_app.dotnet_login_url
。
可在Rails Routing Guide找到更多详情。