複数のプロジェクトメンバーをプロジェクトに割り当てることができるフォームを作成しようとしています。(UserProjectを介して関連付けられているユーザーモデルとプロジェクトモデル)
これが私の見解です:
<div class="field">
<%= fields_for :projectmember do |u| %>
<%= u.label :projectmember %><br />
<%= select_tag :projectmember, options_for_select(User.all.collect {|u| [u.id, u.lastname]}, :projectmember),:multiple => true, :prompt => 'Select Person' %>
<% end %>
</div>
projectmemberタグをあちこちに配置しましたが、このフィールドprojectmemberをdbプロジェクトとuser_projectsに保存する方法がわかりません!! ??
私のprojects_controller:
def new
@project = Project.new
@user_project=UserProject.new
@user=User.all
@user_lastnames = User.all.collect do |u|
u.lastname
end
respond_to do |format|
format.html # new.html.erb
format.json { render json: @project }
end
end
と
def create
@project = Project.new(params[:project])
respond_to do |format|
if @project.save
format.html { redirect_to @project, notice: 'Project was successfully created.' }
format.json { render json: @project, status: :created, location: @project }
@user_project=UserProject.create(:project_id => @project.id, :user_id => @project.projectmember)
else
format.html { render action: "new" }
format.json { render json: @project.errors, status: :unprocessable_entity }
end
end
end
1つのインスタンスを作成した後、コンソールを使用するコマンド:@ project = Project.allは次のようになります:Project id:55、projectname: "fdfd"、projectdescription: "fdfd"、projectheader: "5"、projectmember:nil、projecttypename: "dffd ">]