Ruby on rails Rails如何使此视图工作?设计、注册和课程体系

Ruby on rails Rails如何使此视图工作?设计、注册和课程体系,ruby-on-rails,model-view-controller,devise,Ruby On Rails,Model View Controller,Devise,如何修改视图以使其正常工作?我希望有一个“立即注册按钮”,它将为当前用户创建已查看的\u课程记录 class Course has_many :lessons end class Lesson #fields: course_id belongs_to :course end class User has_many :viewed_lessons has_many :viewed_courses end class ViewedLesson #fields: use

如何修改视图以使其正常工作?我希望有一个“立即注册按钮”,它将为当前用户创建已查看的\u课程记录

class Course
    has_many :lessons
end

class Lesson
  #fields: course_id
  belongs_to :course
end
class User
  has_many :viewed_lessons
  has_many :viewed_courses
end
class ViewedLesson
  #fields: user_id, lesson_id, completed(boolean)  
  belongs_to :user
  belongs_to :lesson
end
class ViewedCourse
  #fields: user_id, course_id, completed(boolean)  
  belongs_to :user
  belongs_to :course  
end



class CoursesController < ApplicationController
  def index
    @courses = Course.all
  end



def show
    @course = Course.find(params[:id])
    current_user.viewed_courses.create(course: @course)
  end  
end
谢谢你帮助我

在模型中,您可以

已查看\u课程.rb

class ViewedCourse
  ...
  validates :course, uniqueness: { scope: :user, message: "should happen once per user" }
  ...
end
看起来您在show模板中没有使用ViewedCourses。如果以后再这样做,您可能希望在某些情况下尝试


最后一条未经请求的反馈,你的措辞似乎让我有点困惑。“注册”和“展示”感觉像是两种截然不同的行为

谢谢你的回答。我遇到的一个大问题是我无法使视图工作。在问题的第一部分:如何修改视图以使其工作?我想有一个“立即注册”按钮,可以为当前用户创建已查看的课程记录?先谢谢你
class ViewedCourse
  ...
  validates :course, uniqueness: { scope: :user, message: "should happen once per user" }
  ...
end