如何从其他控制器调用设计验证?

时间:2019-01-07 02:27:44

标签: ruby-on-rails devise

我正在建立一个电影网站。我希望主页(views/movies/index.html.erb)可以显示所有电影的列表,即使没有登录的访问者也可以看到。我想在主页上提供一个登录链接,单击该链接应调用身份验证系统。 devise宝石。我该如何实现?

我在首页(views/movies/index.html.erb)上提供了此链接

<%= link_to 'Log in', login_path, :class => "btn btn-primary" %>

我的routes.rb文件中有这个文件:

get 'login', to: 'devise#new', as: 'login'

我已经在movies_controller.rb中提供了这个虚拟方法

def login
end

这是devise/views/devise/sessions/new.html.erb中产生的新会话(登录)代码

<header>
<h1>
Log in
</h1>
</header>
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<%= f.label :email %> <%= f.email_field :email, autofocus: true, class: "form-control" %> 
<%= f.label :password %> <%= f.password_field :password, autocomplete: "off", class: "form-control" %> 
<% if devise_mapping.rememberable? -%>
<%= f.check_box :remember_me %> Remember Me 
<% end -%> <%= f.submit "Log in", class: "btn btn-primary btn-lg" %>     
<% end %> 
<%= render "devise/shared/links" %> 

如果我以某种方式调用/views/devise/sessions/new.html.erb,是否可以解决我的问题?

如果是,那么如何从erb调用此movies_controller

如果否,那么我还能如何解决我的登录问题?

0 个答案:

没有答案