หลังจากที่คุณสร้างแอป Rails ไม่กี่แอป คุณจะเริ่มมีวิธีการทำงานที่ต้องการกับแอปเหล่านั้น บางทีคุณอาจต้องการใช้ awesome_print
ในคอนโซล Rails ของคุณ หรือคุณอาจต้องการ rails new
เพื่อสร้างโครงการที่ใช้ rspec แทน minitest
แน่นอนว่ามันน่ารำคาญนิดหน่อยที่ต้องระบุการตั้งค่าเหล่านี้ทุกครั้งที่คุณเรียกใช้คำสั่ง แต่มันง่ายที่จะลืม และเป็นเรื่องที่น่าโมโหเมื่อคอมพิวเตอร์ไม่ทำในสิ่งที่คุณคิดว่าคุณบอกให้ทำ:
$ rails new best_app_ever
^C (sigh...)
$ rm -r best_app_ever
$ rails new best_app_ever --template=my_template
มีวิธีที่ง่ายกว่า ด้วยการปรับแต่งเล็กๆ น้อยๆ คุณสามารถให้คำสั่งเหล่านี้จดจำค่ากำหนดของคุณ คุณไม่จำเป็นต้องทำ
บันทึกการตั้งค่าของคุณด้วย .rc
ไฟล์
เครื่องมือ Ruby มากมายให้วิธีง่ายๆ ในการจัดเก็บค่ากำหนดของคุณโดยใช้ .rc
ไฟล์.
.rc
ไฟล์อยู่ในโฮมไดเร็กตอรี่ของคุณ:
$ ls ~/.*rc
.bashrc .irbrc .screenrc
.gemrc .railsrc .zshrc
และพวกเขาให้คำสั่งเช่น gem
, irb
และ rails
สถานที่เพื่อค้นหาความชอบของคุณ นี่คือ .rc
. บางส่วน ไฟล์ที่คุณควรลองใช้:
.irbrc
เมื่อคุณเรียกใช้ rails console
คุณอาจต้องการเห็นวัตถุทั้งหมดของคุณ awesome_printed เป็นค่าเริ่มต้น คุณสามารถพิมพ์ AwesomePrint.irb!
ที่จุดเริ่มต้นของแต่ละเซสชันคอนโซล หรือคุณสามารถเพิ่มคำสั่งใน ~/.irbrc
. ของคุณ ไฟล์:
require "awesome_print"
AwesomePrint.irb!
และครั้งต่อไปที่คุณเริ่ม rails console
วัตถุของคุณจะถูกพิมพ์ออกมาอย่างยอดเยี่ยมโดยอัตโนมัติ
.irbrc
ยังเป็นที่ที่ดีในการใส่วิธีการอำนวยความสะดวกแบบแฮ็คที่ช่วยให้คุณเล่นกับวัตถุของคุณ:
require "awesome_print"
AwesomePrint.irb!
# returns the instance methods on klass
# that aren't already on Object
def m(klass)
klass.public_instance_methods - Object.public_instance_methods
end
~/Source/rcfiles jweiss$ bin/rails c
Loading development environment (Rails 4.1.1)
irb(main):001:0> m ActiveRecord::Base
[
[ 0] [](attr_name) ActiveRecord::Base (ActiveRecord::AttributeMethods) (unbound)
[ 1] []=(attr_name, value) ActiveRecord::Base (ActiveRecord::AttributeMethods) (unbound)
[ 2] _commit_callbacks()
... about 200 more methods...
เมื่อคุณปรับแต่งสภาพแวดล้อมแบบนี้ คุณจะเริ่มรู้สึกว่าไลบรารีที่คุณใช้เป็นของคุณ แทนที่จะเป็นเพียงไลบรารี่ที่คุณ ใช้ .
.gemrc
Rubygems มี .rc
. เป็นของตัวเอง ไฟล์เพื่อให้จัดการกับอัญมณีสะดวกยิ่งขึ้น หลายคนใช้ .gemrc
เพื่อข้ามการสร้าง rdoc และ ri ซึ่งทำให้การติดตั้ง gem เร็วขึ้นมาก:
gem: --no-document
แต่ยังมีอะไรอีกมากมายที่คุณทำได้ มีค่าอื่นๆ อีกสองสามค่าที่คุณปรับแต่งได้ใน .gemrc
รวมถึง :sources:
(เพื่อค้นหาอัญมณีบนเซิร์ฟเวอร์อัญมณีอื่น) และ :backtrace:
(เพื่อดู backtrace ทั้งหมดเมื่อเกิดข้อผิดพลาด):
gem: --no-document
:backtrace: true
:sources:
- https://my.internal.gem.server
- https://rubygems.org
สำหรับการตั้งค่าที่เหลือที่คุณใส่ในไฟล์นี้ได้ โปรดดูเอกสารคำสั่งของ gem environment
.railsrc
เมื่อหลายปีก่อน Rails 3 ทำให้การสร้างแอปที่ไม่ใช้สแต็ก Rails เริ่มต้นเป็นเรื่องง่าย หากคุณต้องการแอปที่ไม่ใช้ minitest (เช่น คุณสามารถใส่ rspec ได้ในภายหลัง) ก็ทำได้ง่ายๆ ดังนี้:
$ rails new my_awesome_app --skip-test-unit
หรือสถานที่ที่คุณทำงานอาจมีเทมเพลตโครงการของตัวเอง:
$ rails new my_awesome_corporate_app --template=https://example.com/my_app_template
เมื่อคุณคุ้นเคยกับ Rails stack แล้ว คุณอาจต้องการใช้มันกับโปรเจ็กต์ใหม่ทั้งหมดของคุณ แต่มันง่ายที่จะลืมเพิ่มพารามิเตอร์เหล่านี้เมื่อคุณสร้างแอปอื่น คุณสามารถใส่พารามิเตอร์เหล่านี้ใน .railsrc
. แทน ไฟล์:
--template=https://example.com/my_app_template
--database=postgresql
และตอนนี้ คุณสามารถเรียกใช้ rails new
ด้วยพารามิเตอร์ที่เหมาะสมทุกครั้ง และหากคุณต้องการแทนที่พารามิเตอร์เหล่านั้นสำหรับโครงการเดียว คุณสามารถทำได้ด้วย --no-skip-test-unit
-คำสั่งสไตล์
ทำให้สภาพแวดล้อมของคุณเป็นของคุณ
การกำหนดค่าล่วงหน้าเพียงเล็กน้อยจะทำให้สภาพแวดล้อมของคุณรู้สึกเหมือนอยู่บ้าน คุณสามารถข้ามความเจ็บปวดจากการรันคำสั่งโดยไม่ตั้งใจได้โดยไม่ต้องใช้พารามิเตอร์ที่คุณต้องการ คุณไม่จำเป็นต้องค้นหาเอกสารเพื่อหาตัวเลือกที่เหมาะสมเสมอไป และคุณจะได้สนุกไปกับการเขียนโค้ดได้ทันที