1

我需要group_id使用下面列出的 Rails collection_select 代码保存在我的用户文档中

模型用户:

class User
 include Mongoid::Document
 include Mongoid::Timestamps
 include Amistad::FriendModel

 field :name, :type => String
 field :email,              :type => String, :default => ""
 field :encrypted_password, :type => String, :default => ""

#relations
  belongs_to :school
  belongs_to :group

模型组

 class Group
   include Mongoid::Document
   attr_accessible :name, :degree
   field :name, type: String
   field :degree, type: String
   has_many :users

并生成表格:

<%= form_for(@user) do |f| %>
  <%= f.email_field :email %></div>
  <%= f.password_field :password %>
  <%= f.collection_select :group_id,  Group.all, :id, :name %>
  <%= f.submit "Sign up" %>
<%end%>

这将保存用户文档,而不是在 collection_select 中保存 group_id 提及,任何想法

4

2 回答 2

0

创建新用户时使用 User.new 还是 Group.user.create。后者应该工作。

于 2013-03-04T06:47:11.567 回答
0

这不是一个更好的方法,但它有效

def create
@user = User.new(params[:user])
@user.school_id = current_user.school_id
@user.group_id = params[:user][:group_id]
respond_to do |format|
  if @user.save
    format.html { redirect_to @user, notice: 'Subject was successfully created.' }
    format.json { render json: @user, status: :created, location: @subject }
  else
    format.html { render  "new" }
    format.json { render json: @subject.errors, status: :unprocessable_entity }
  end
end

结尾

于 2013-03-06T00:17:27.140 回答