Ruby on rails 3 设计两种模型:如何自定义视图?

Ruby on rails 3 设计两种模型:如何自定义视图?,ruby-on-rails-3,devise,Ruby On Rails 3,Devise,我正在为两个模型使用designe,在运行了rails g designe:views之后,一些视图是在views/designe/中创建的——其中一些视图很好,可以在这两个模型之间共享,但是我必须在注册视图中添加一些字段(取决于模型) 例如,对于design/registrations/new.html.erb 注册 resource_name,:url=>registration_path(resource_name))do | f |%> “设计/共享/链接”%> 这是可以的,

我正在为两个模型使用designe,在运行了
rails g designe:views
之后,一些视图是在views/designe/中创建的——其中一些视图很好,可以在这两个模型之间共享,但是我必须在注册视图中添加一些字段(取决于模型)

例如,对于
design/registrations/new.html.erb

注册
resource_name,:url=>registration_path(resource_name))do | f |%>




“设计/共享/链接”%>
这是可以的,但我如何使其特定于模型?我如何告诉Desive去查看/views/my_model/new.html.erb?基本上,对于使用Desive的每个模型,我希望有两个单独的注册/新模板,因为每个模型都有不同的字段


当我执行
rails g designe:views mymodel
时,它仍然会呈现
views/designe
的模板,而不是
views/mymodel/designe

我会创建一个部分,其中包含每个模型的表单以及您认为必要的字段。以您使用的特定型号(用户或管理员)命名。然后在designe/registrations/new.html.erb中根据resource.class.name呈现相应的部分

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
  <%= devise_error_messages! %>
    <p><%= f.label :first_name %><br />
  <%= f.text_field :first_name %></p>

  <div><%= f.label :email %><br />
  <%= f.email_field :email %></div>

  <div><%= f.label :password %><br />
  <%= f.password_field :password %></div>

  <div><%= f.label :password_confirmation %><br />
  <%= f.password_field :password_confirmation %></div>

  <div><%= f.submit "Sign up" %></div>
<% end %>

<%= render :partial => "devise/shared/links" %>