我有两个模型,例如:
class Employee
field :name
field :login, type: Boolean
has_one :user
end
class User
field :username
field :email
belongs_to :employee
validates_presence_of :username
end
如果选中登录字段的复选框,我想在创建员工时创建一个用户帐户。为此,我对员工控制器的新操作是:
def index
@employee = Employee.new
@employee.build_user
end
为此,我的表单代码是:
<%= simple_form_for(@employee) %>
<%= f.input :login, :as => :boolean, :label => "Create User" %>
<div class="create-user" style="display: none">
<%= f.simple_fields_for :user do |u| %>
<%= render 'user_fields', {f: u} %>
<% end %>
</div>
<button class="btn btn-info">Save Change</button>
<% end %>
_user_fields.html.erb 是:
<%= f.input :username %>
我想在选中 :login 字段的复选框时验证用户模型。在未选中的情况下,应提交表单。什么是更好的解决方案。