我已经构建了一个ROR应用程序。 现在我需要实现Devise功能。我已经存在用户数据的登录,所以我不想使用设计Sign_in,sign_up等视图。关于如何实现这一目标的任何建议
答案 0 :(得分:2)
最简单的方法是生成新视图并通过添加旧视图中的样式和标记来自定义它们。
或者查看示例应用并将所需的表单复制到现有视图中,例如:
对于登录页面(新会话),设计生成此代码
在 app / views / devise / sessions / new.html.erb
中<h2>Sign in</h2>
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
<div><%= f.label :email %><br />
<%= f.email_field :email %></div>
<div><%= f.label :password %><br />
<%= f.password_field :password %></div>
<% if devise_mapping.rememberable? -%>
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
<% end -%>
<div><%= f.submit "Sign in" %></div>
<% end %>
<%= render "devise/shared/links" %>
所以我想说最好的选择是生成它们,并将视图中的代码复制到设计生成的代码或将设计生成的代码复制到视图中(第一个选项更好,因为它保留了默认的设计路由并且您不需要将设计控制器映射到您的自定义视图。
如果您确实需要来使用旧视图,只需添加相应的表单和字段,并将设计控制器映射到相应的视图,这样更复杂但可以这样做,请阅读:https://github.com/plataformatec/devise#configuring-controllers以获取更多信息。