我正在尝试向Web应用程序添加功能,以便用户可以对课程进行评分。在评分功能中,有一个预设的教每个课程的讲师列表。它作为数组存储在postgres db中。
课程模型(教师列表的一部分)和复习模型是分开的。
我已经成功创建了一个表单,该表单在撰写评论时将教师列表显示为下拉列表,但是在数据库的列中保存教师的名称却没有成功。
我不确定在下面的代码中将要保存的数据放在最后一行。
reviews_controller.rb
def create
@review = Review.new(review_params)
@review.user_id = current_user.id
@review.course_id = @course.id
@review.instructor_name =
这是我在前端显示它的方式,允许用户选择讲师。
_form.html.erb
<%= form.label "Instructor" %>
<%= select_tag :instructor_name, options_for_select(@course.instructors) %>
我希望所选教师的姓名与姓名的索引相对应,而不是与值相对应。
答案 0 :(得分:0)
尝试一下
<%= select_tag :instructor_name, options_for_select(@course.instructors.collect { |i| [i, i] }) %>
答案 1 :(得分:0)
提交表格时,您将在参数中收到教师的姓名。在控制器中,您可以访问参数并将其添加到评论中。
reviews_controller.rb
def create
@review = Review.new(review_params)
@review.user_id = current_user.id
@review.course_id = @course.id
@review.instructor_name = params[:instructor_name]
end