种子 - 如何重新初始化我的种子 - 轨道
问题描述:
您好我创建这个种子种子 - 如何重新初始化我的种子 - 轨道
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>
但现在看来,题目的课程很多次,我想有只看到一次。如何重置或销毁或隐藏名称相同且名称相同的其他课程?
如果您想了解更多的信息,我给你,但是告诉我,我能做些什么。谢谢。
答
您是否多次运行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
谢谢你,我明白你的意思。是。 –
似乎有其他记录存在你'课程'模型,做'Course.all',然后用输出更新你的问题 – VKatz