我正在尝试实现一个可以拥有一个或多个用户的顶级帐户。我的应用程序使用设计进行身份验证,因此我想将注册表单保留为用户模型的一部分。
我相信我已经正确设置了模型,但是我在弄清楚注册表应该如何工作时遇到了一些麻烦。
这是我到目前为止所得到的......
用户.rb
class User < ActiveRecord::Base
rolify
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable,
:validatable, :omniauthable
# Setup accessible (or protected) attributes for your model
attr_accessible :role_ids, :as => :admin
attr_accessible :name, :email, :password, :password_confirmation, :remember_me, :account, :company
# Association with service accounts
has_many :service_accounts
# Association with company account
belongs_to :account
end
账户.rb
class Account < ActiveRecord::Base
attr_accessible :company
# Association with users
has_many :users, :dependent => :destroy
end
注册/new.html.erb
<h2>Sign up</h2>
<%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => {:class => 'form-vertical' }) do |f| %>
<%= f.error_notification %>
<%= f.input :name, :autofocus => true, :placeholder => "Name" %>
<%= f.input :email, :placeholder => "Email Address" %>
<%= f.input :password, :placeholder => "Password" %>
<%= f.input :password_confirmation, :placeholder => "Confirm Password" %>
<%= f.button :submit, 'Sign up', :class => 'btn btn-large btn-primary' %>
<% end %>
<%= render "devise/shared/links" %>
这是我可以使用的一些帮助
我想在上面的注册表单中添加一个“公司”字段。公司是帐户表中的一列。当新用户注册时,我想为该用户创建一个新帐户并将公司属性设置为他们在公司字段中提供的任何内容。
我在使用表单(添加公司字段)和控制器(创建新帐户并在用户提交表单时更新公司字段)所需的代码时遇到问题。
谢谢!