我正在尝试为某些大学的课程复习创建应用程序。目前,我有两个模型,分别是课程和评论。我试图在课程视图中显示评论表的内容,但它仅显示内容的地址,而不能显示实际值。任何帮助,将不胜感激。
下面是控制器,模型和视图。
course/show.html.erb
<div class = "col-md-7">
<h2>Tips from other students</h2>
<%= form_with( model: @course, local: true, class: "col-md-7") do |f| %>
<% f.fields_for :reviews do |rf| %>
<ul class="nav nav-tabs nav-stacked col-md-12 col-lg-12 col-sm-12 well ng-scope" ng-repeat="tip in $ctrl.displayCourse.tips track by $index">
<li class="ng-binding"><%= rf.select :reviews_content, @reviews %></span></li>
</ul>
<% end %>
<% end %>
</div>
/course_controller.rb
class CoursesController < ApplicationController
before_action :set_course, only: [:edit, :update, :show, :destroy]
def index
@courses = Course.all
@reviews = Review.all
end
def new
@course = Course.new
@course.reviews.build
end
def create
@course = Course.new(course_params)
@course.save
if @course.save
flash[:success] = "New course has created"
redirect_to course_path(@course)
else
render 'new'
end
end
def show
@reviews = Review.where(course_id: params[:id])
end
def destroy
@course = Course.find(params[:id])
@course.destroy
flash[:danger] = "Course was deleted"
redirect_to courses_path
end
def edit
#@course = Course.find(params[:id])
end
def update
#@course = Course.find(params[:id])
if @course.update(course_params)
flash[:success] = "Course was updated with reviews"
redirect_to course_path(@course)
else
render 'edit'
end
end
private
def set_course
@course = Course.find(params[:id])
end
def course_params
params.require(:course).permit(:coursename, :course_content, :prerequisite, :proctoredexams, :groupwork, :textbook, reviews_attributes: [:reviews_content])
end
def review_params
params.require(:course).permit(reviews_attributes: [:reviews_content])
end
end