Rake in Rails

更新於 發佈於 閱讀時間約 4 分鐘

將 Rails 環境帶入 rake 裡,讓 rake 可以使用 Rails 的元素,像是 Model:

namespace :user do
desc "建立使用者"
task :init => :environment do # 讓 rake 可以引入所有 rails 的東西( model, migration 等等)
User.create(email: Faker::Internet.email ,password: '123456')
puts "user created"
end
end


如果沒有導入環境給 rake ,rake 就找不到 User ,就沒辦法 new 了。


終端機輸入:

rake user:init

透過回圈,一個指令,產生多筆資料:

namespace :user do
desc "建立使用者"
task :init => :environment do
5.times {
user = User.create(email: Faker::Internet.email ,password: '123456')
puts "user: #{user.email} created!"
}
end
end

更複雜的:

namespace :blog do
desc "建立初始資料"
task :init => :environment do
# init user & articles
5.times {
u = User.create(email: Faker::Internet.email, password: "123456")

blog = u.create_blog(
handler: Faker::Name.unique.name.downcase.gsub(" ", "_").delete("."),
title: Faker::Lorem.sentence,
description: Faker::Lorem.paragraphs(number: 2).join
)
puts "blog #{blog.handler} created"

10.times {
article = u.articles.create(
title: Faker::Lorem.sentence,
content: Faker::Lorem.paragraphs(number: 5).join
)
puts " title: #{article.title} created"
}
puts "user: #{u.email} created!"
}
end
end
留言
avatar-img
留言分享你的想法!
avatar-img
Mike的沙龍
1會員
13內容數
Mike的沙龍的其他內容
2022/08/13
在 Rail 的 MVC 架構中,M 是負責驗證與邏輯、以及轉譯向資料庫溝通的角色; C 是負責資料的搬運,搬往 M 或 V; V 則是負責畫面的呈現、及使用者與資料的互動,並將請求送往C,接著得到 C 送回來的資料。 form_tag form_for form_with
2022/08/13
在 Rail 的 MVC 架構中,M 是負責驗證與邏輯、以及轉譯向資料庫溝通的角色; C 是負責資料的搬運,搬往 M 或 V; V 則是負責畫面的呈現、及使用者與資料的互動,並將請求送往C,接著得到 C 送回來的資料。 form_tag form_for form_with
2022/08/01
在介紹什麼是樂觀鎖、什麼是悲觀鎖之前,我們先來了解一下,這兩個鎖是應用在什麼地方? 資料庫 為了達成這件萬中選一的情況,就必須使用到「鎖」的概念。 悲觀鎖 從字面上來想,可以很清楚的知道,這個鎖是用悲觀來看待資料的寫入。基於對事件的不信任,所採取的行為。 樂觀鎖
2022/08/01
在介紹什麼是樂觀鎖、什麼是悲觀鎖之前,我們先來了解一下,這兩個鎖是應用在什麼地方? 資料庫 為了達成這件萬中選一的情況,就必須使用到「鎖」的概念。 悲觀鎖 從字面上來想,可以很清楚的知道,這個鎖是用悲觀來看待資料的寫入。基於對事件的不信任,所採取的行為。 樂觀鎖
2022/08/01
在 Rails 裡常常可以看到 redirect_to 跟 render,但這兩者到底有什麼差異呢? Redirect_to redirect_to 後面接網址路徑,是用來轉到該網址路徑去,也就是換到一個新的頁面。 如果在 new 的頁面上 (同一條溪流,這一秒的水流跟下一秒的水流是不一樣的水流)
2022/08/01
在 Rails 裡常常可以看到 redirect_to 跟 render,但這兩者到底有什麼差異呢? Redirect_to redirect_to 後面接網址路徑,是用來轉到該網址路徑去,也就是換到一個新的頁面。 如果在 new 的頁面上 (同一條溪流,這一秒的水流跟下一秒的水流是不一樣的水流)
看更多