nac*_*10f 6 methods post ruby-on-rails
我需要帮助将学生分配到批次......他们处于多对多的关系中.
<tbody>
<% Batch.all.each do |b|%>
<tr>
<td><%= b.course.name%></td>
<td><%= b.name %></td>
<td><%= b.section_name%></td>
<td><%= link_to "Add", student_batch_students_path(@student, :batch_id=> b.id), :method=> :post%></td>
</tr>
<%end%>
</tbody>
Run Code Online (Sandbox Code Playgroud)
在我的控制器中
def create
@batch_student = BatchStudent.new(params[:batch_student])
@batch_student.save
end
Run Code Online (Sandbox Code Playgroud)
我的路线
resources :students do
resources :batch_students
end
resources :batches
Run Code Online (Sandbox Code Playgroud)
但是在我的数据库上,它使用student_id和batch_id创建为null
fl0*_*00r 22
您正在更新存在的批处理,但不是正在创建,因此您应该PUT请求update操作
<td><%= link_to "Add", student_batch_students_path(@student, :batch_id => b.id), :method=> :post %></td>
def create
@student = Student.find(params[:id])
@batch = Batch.find(params[:batch_id])
@batch_student = BatchStudent.new(:params[:batch_student])
@batch_student.student = @student
@batch_student.batch = @batch
@batch_student.save
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23595 次 |
| 最近记录: |