1

我已经构建了一个 ROR 应用程序。现在我需要实现设计功能。我有现有的用户数据登录,所以我不想使用设计 Sign_in 、 sign_up 等视图。关于如何实现这一目标的任何建议

4

1 回答 1

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了解更多信息。

于 2013-01-07T06:20:23.890 回答