如何做mongoid和simpleform的性别?

时间:2013-04-11 06:27:31

标签: ruby-on-rails mongoid simple-form

我有以下型号:

class User
  include Mongoid::Document
  has_one :gender

class Gender
  include Mongoid::Document
  has_and_belongs_to_many :users

性别表以性别为目标。

我的用户编辑简单表如下:

<%= simple_form_for @user do |f| %>
  <%= f.input :gender, :collection => Gender.all, :prompt => "Choose a gender" %>
  <%= f.submit "Save" %>
<% end %>

但是当我保存时,user.gender没有做任何事情。

有人对此有任何想法吗?

2 个答案:

答案 0 :(得分:1)

从我可以看到你的逻辑是这样的 -

- 一个用户有一个性别

- 一个性别有很多用户

class User
  include Mongoid::Document
  belongs_to :gender

class Gender
  include Mongoid::Document
  has_many :users

获取用户的性别

user.gender

对性别相同的用户

gender.users

答案 1 :(得分:0)

将模型更改为

class User
  include Mongoid::Document
  has_one :gender

class Gender
  include Mongoid::Document
  belongs_to :user

将表单字段更改为:

<%= f.input :gender_id, :collection => Gender.all, :prompt => "Choose a gender" %>