我有一个我正在使用的用户模型。每个用户都属于一个组。我试图找到一种简单的方法来设置用户的注册组 - 而无需创建自定义控制器来覆盖设计?
我的模特看起来像这样:
class User < ActiveRecord::Base
belongs_to :group
end
class Group < ActiveRecord::Base
has_many :users
end
以下是表格:
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<%= f.label :email %><br />
<%= f.email_field :email %>
<%= f.label :password %><br />
<%= f.password_field :password %>
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %>
<%= label_tag :group_name %>
<%= text_field_tag :group_name %>
<%= f.submit "Sign up" %>
由于我只是想保存这个附加属性(group_name),所以我想避免创建一个全新的自定义设计控制器。有没有办法在模型级别保存用户的组 - 可能有回调?或者有更好的方法来保存团队注册?
谢谢!
答案 0 :(得分:2)
如果你已经使用了如上所示的自定义表单(也就是说,你没有使用Devise给你的那个),那么就没有理由需要覆盖Devise控制器。该组将与其他质量可分配属性一起进行质量分配。
(就个人而言,就用户体验而言,将组选择设置为下拉或其他东西可能会很好,只是为了使它可用,但这只是一个偏好问题。自动填充也可能很好。)< / p>