1

group_idRails 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%>

これにより、ユーザードキュメントが保存され、group_id メンションが collection_select に保存されなくなります。

4

2 に答える 2

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 に答える
0

新しいユーザーまたは Group.user.create を作成するときに User.new を使用しますか。後者はうまくいくはずです。

于 2013-03-04T06:47:11.567 に答える