种子 - 如何重新初始化我的种子 - 轨道

问题描述:

您好我创建这个种子种子 - 如何重新初始化我的种子 - 轨道

rails = Course.create(title: "Ruby On Rails") 
models = rails.chapters.create(title: "Models") 

models.items << Lesson.create(title: "What is Active Record?", content: "Lesson content here") 

models.items << Exercice.create(title: "The Active Record pattern", content: "Exo about active record pattern") 
models.items << Exercice.create(title: "Object Relational Mapping", content: "Exo about ORM") 
models.items << Exercice.create(title: "Active Record as an ORM Framework", content: "Exo about ORM") 

models.items << Lesson.create(title: "Convention over Configuration in Active Record", content: "Lesson content here") 

models.items << Exercice.create(title: "Naming Conventions", content: "Exo about naming convention") 
models.items << Exercice.create(title: "Schema Conventions", content: "Exo about schema convention") 

models.items << Lesson.create(title: "Model summary", content: "Lesson content here") 

models.items << Exam.create(title: "Rails Models exam", content: "Exam content here") 

puts "done" 

我已经做了rake db:seed

我的控制过程为:

类CoursesController < ApplicationController的

def index 
    @courses = Course.all 
    end 

    def show 
    @course = Course.find(params[:id]) 
    end 

end 

我控制器章:

类ChaptersController < ApplicationController的

def show 
    @course = Course.find(params[:course_id]) 
    @chapter = @course.chapters.find(params[:id]) 
    end 

end 

我的C ontroller章:

class ItemsController < ApplicationController 

    def show 
    @course = Course.find(params[:course_id]) 
    @chapter = @course.chapters.find(params[:chapter_id]) 
    @item = @chapter.items.find(params[:id]) 
    end 
end 

而在应用程序/视图/场/ index.html.erb

<div class="container-page"> 
    <div class="padding-page"> 
    <div class="container-fluid"> 
     <div class="row"> 
     <div class="col-xs-12 col-sm-12 col-md-12"> 
      <div class="page-progress"> 
      <h1> 
       Page en cours de réalisation 
      </h1> 

      <% @courses.each do |course| %> 
      <h2> 
      <%= link_to course.title, course %> 

      </h2> 
      <% end %> 

      </div> 
     </div> 
     </div> 
    </div> 
    </div> 
</div> 

但现在看来,题目的课程很多次,我想有只看到一次。如何重置或销毁或隐藏名称相同且名称相同的其他课程?

Here is the index iteration

如果您想了解更多的信息,我给你,但是告诉我,我能做些什么。谢谢。

+0

似乎有其他记录存在你'课程'模型,做'Course.all',然后用输出更新你的问题 – VKatz

您是否多次运行rake db:seed?如果是这种情况,请删除,创建,迁移,重新种子数据库。

如果将来需要更新种子并重新运行它们,请确保不要创建多个记录。你可以通过改变你的代码,从:

rails = Course.create(title: "Ruby On Rails") 
models = rails.chapters.create(title: "Models") 

models.items << Lesson.create(title: "What is Active Record?", content: "Lesson content here") 

到:

rails = Course.where(title: "Ruby On Rails").first_or_create 
models = rails.chapters.where(title: "Models").first_or_create 

models.items << Lesson.where(title: "What is Active Record?").first_or_create(title: "What is Active Record?", content: "Lesson content here") 

在表中找到第一个实例。如果没有,请创建一个。

+0

谢谢你,我明白你的意思。是。 –