คำถามติดแท็ก ruby-on-rails

Ruby on Rails เป็นโอเพ่นซอร์สเฟรมเวิร์กแบบเต็มเว็บแอ็พพลิเคชันที่เขียนใน Ruby มันเป็นไปตามรูปแบบกรอบ MVC ที่เป็นที่นิยมและเป็นที่รู้จักกันดีในเรื่องแนวทาง

8
จะโหลดข้อมูล db: seed ลงในฐานข้อมูลทดสอบโดยอัตโนมัติได้อย่างไร?
ฉันกำลังพยายามใช้วิธีการโหลดข้อมูลเมล็ดพันธุ์มาตรฐานใหม่ใน Rails 2.3.4+ ซึ่งเป็นไฟล์ db:seedงานคราด ฉันกำลังโหลดข้อมูลคงที่ซึ่งจำเป็นสำหรับแอปพลิเคชันของฉันเพื่อให้ทำงานได้อย่างถูกต้อง วิธีใดเป็นวิธีที่ดีที่สุดในdb:seedการเรียกใช้งานก่อนการทดสอบดังนั้นข้อมูลจึงถูกเติมไว้ล่วงหน้า


6
การโอนย้าย Rails สำหรับ has_and_belongs_to_many join table
ฉันscript/generate migrationจะสร้างตารางการเข้าร่วมสำหรับhas_and_belongs_to_manyความสัมพันธ์ได้อย่างไร แอปพลิเคชันทำงานบน Rails 2.3.2 แต่ฉันติดตั้ง Rails 3.0.3 ไว้ด้วย

4
วิธีสร้างการย้ายข้อมูลเพื่อสร้างความหลากหลายของการอ้างอิง
ฉันมีตารางผลิตภัณฑ์และต้องการเพิ่มคอลัมน์: t.references :imageable, :polymorphic => true ฉันพยายามสร้างการย้ายข้อมูลสำหรับสิ่งนี้โดยทำ: $ rails generate migration AddImageableToProducts imageable:references:polymorphic แต่เห็นได้ชัดว่าฉันทำผิด มีใครให้คำแนะนำได้ไหม ขอบคุณ เมื่อฉันพยายามใส่มันด้วยตนเองหลังจากสร้างการย้ายข้อมูลฉันก็ทำเช่นนี้: class AddImageableToProducts < ActiveRecord::Migration def self.up add_column :products, :imageable, :references, :polymorphic => true end def self.down remove_column :products, :imageable end end และยังไม่ได้ผล

28
ทำไมต้องใช้ Ruby แทน Smalltalk? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา Ruby กำลังเป็นที่นิยมส่วนใหญ่มาจากอิทธิพลของ Ruby on Rails แต่ตอนนี้รู้สึกเหมือนกำลังดิ้นรนในช่วงวัยรุ่น มีความคล้ายคลึงกันมากมายระหว่าง Ruby และ Smalltalk - maglevเป็นเครื่องพิสูจน์ถึงสิ่งนั้น แม้จะมีไวยากรณ์ที่ผิดปกติมากขึ้น Smalltalk ก็มีความงามเชิงวัตถุของ Ruby ทั้งหมด (ถ้าไม่มากกว่านั้น) จากสิ่งที่ฉันได้อ่าน Smalltalk ดูเหมือนว่า Ruby จะเอาชนะ: วุฒิภาวะ (พัฒนาขึ้นในปี 1970) ความมั่นคง การสนับสนุนทางการค้า การควบคุมแหล่งที่มาแบบกระจาย (เข้าใจโครงสร้างของรหัสไม่ใช่แค่การแตกต่างของข้อความ) หลายการใช้งานของ VM การสนับสนุนข้ามแพลตฟอร์ม กรอบเว็บริมทะเลเป็นทางเลือกที่แข็งแกร่งให้กับทางรถไฟ ดูเหมือนว่า Ruby กำลังคิดค้นล้อใหม่ เหตุใดนักพัฒนา Ruby จึงไม่ใช้ SmallTalk? Ruby …

10
จะรัน Rails console ในสภาพแวดล้อมการทดสอบและโหลด test_helper.rb ได้อย่างไร?
พื้นหลัง: ฉันมีปัญหาบางอย่างกับอัญมณี "Factory Girl" ของ Thoughtbot ซึ่งใช้ในการสร้างวัตถุเพื่อใช้ในหน่วยและการทดสอบอื่น ๆ ฉันต้องการไปที่คอนโซลและเรียกใช้ Factory Girl ที่แตกต่างกันเพื่อตรวจสอบว่าเกิดอะไรขึ้น ตัวอย่างเช่นฉันอยากไปที่นั่นทำ ... >> Factory(:user).inspect ฉันรู้ว่าคุณสามารถเรียกใช้คอนโซลในสภาพแวดล้อมที่แตกต่างกัน ... $ script / console RAILS_ENV = test แต่เมื่อฉันทำเช่นนั้นคลาสโรงงานจะไม่สามารถใช้ได้ ดูเหมือนว่าจะtest_helper.rbไม่ได้รับการโหลด ฉันลองrequireโทรหลายครั้งรวมถึงหนึ่งสายที่มีเส้นทางสัมบูรณ์test_helper.rbแต่ก็ล้มเหลวในทำนองนี้: $ script/console RAILS_ENV=test >> require '/Users/ethan/project/contactdb/test/test_helper.rb' Errno::ENOENT: No such file or directory - /Users/ethan/project/contactdb/config/environments/RAILS_ENV=test.rb Grr โอ๊ะ

5
การโยกย้าย Rails: t.references ด้วยชื่ออื่น?
ดังนั้นฉันจึงมี create_table แบบนี้สำหรับหลักสูตรที่โรงเรียน: create_table :courses do |t| t.string :name t.references :course t.timestamps end แต่ฉันต้องการให้อ้างอิงอีกสองหลักสูตรเช่น: has_many :transferrable_as # A Course has_many :same_as # Another Course ฉันสามารถพูดต่อไปนี้ได้หรือไม่? t.references :transferrable_as, :as=> :course

4
ทำไม escape_javascript ก่อนแสดงผลบางส่วน
ฉันกำลังดูตอน Railscast นี้และสงสัยว่าทำไมต้องโทรไปescape_javascriptที่นี่: $("#reviews").append("<%= escape_javascript(render(:partial => @review)) %>"); อะไรคือสิ่งที่escape_javascriptใช้? ตามเอกสาร Rails : escape_javascript (จาวาสคริปต์) Escape carrier return และอัญประกาศเดี่ยวและคู่สำหรับกลุ่ม JavaScript แต่นั่นไม่ได้มีความหมายกับฉันมากนัก

16
บล็อกความคิดเห็นในเทมเพลต html.erb ในราง
คุณคิดเห็นอย่างไรกับ html ผสมกับรหัสทับทิม? some text <% ... %> more text <%= ... %> something else <% ... %> ใน jsp มันง่าย<%-- ... --%>มาก แต่ฉันไม่พบตัวเลือกที่กระชับในราง ความคิดเห็น html แบบธรรมดา<!-- ... -->ไม่ทำงาน: รหัสทับทิมยังคงถูกเรียกใช้และมีข้อผิดพลาด มีตัวเลือกให้ใช้if falseกับความคิดเห็นแบบ html แต่ค่อนข้างละเอียดไม่ต้องพูดถึง IDE ไม่รองรับ นอกจากนี้ยังมีตัวเลือกที่มาจากทับทิมบริสุทธิ์ซึ่งได้ผลอย่างน่าประหลาดใจ <% =begin %> ... html and ruby code goes here <% =end %> …
120 ruby-on-rails  ruby  erb 

11
วิธีสร้าง has_and_belongs_to_many สมาคมใน Factory girl
ให้ดังต่อไปนี้ class User < ActiveRecord::Base has_and_belongs_to_many :companies end class Company < ActiveRecord::Base has_and_belongs_to_many :users end คุณกำหนดโรงงานสำหรับ บริษัท และผู้ใช้รวมถึงสมาคมแบบสองทิศทางได้อย่างไร นี่คือความพยายามของฉัน Factory.define :company do |f| f.users{ |users| [users.association :company]} end Factory.define :user do |f| f.companies{ |companies| [companies.association :user]} end ตอนนี้ฉันพยายาม Factory :user บางทีอาจจะไม่น่าแปลกใจที่สิ่งนี้ส่งผลให้เกิดการวนซ้ำที่ไม่มีที่สิ้นสุดเนื่องจากโรงงานต่างๆใช้กันและกันเพื่อกำหนดตัวเอง น่าแปลกใจที่ฉันไม่พบการกล่าวถึงวิธีการทำเช่นนี้จากที่ใดมีรูปแบบในการกำหนดโรงงานที่จำเป็นหรือฉันกำลังทำอะไรผิดพลาดโดยพื้นฐานหรือไม่?

3
งาน 'สภาพแวดล้อม' ใน Rake คืออะไร?
ตาม " Custom Rake Tasks ": desc "Pick a random user as the winner" task :winner => :environment do puts "Winner: #{pick(User).name}" end เท่าที่ฉันรู้:winner => :environmentหมายถึง "ทำenvironmentก่อนwinner" แต่มีอะไรenvironment? ควรใช้เมื่อใด ฉันพยายามแต่ในรายการฉันไม่สามารถหาrake -Tenvironment

4
Rails has_and_belongs_to_many migration
ฉันมีสองโมเดลrestaurantและuserฉันต้องการแสดงความสัมพันธ์ has_and_belongs_to_many ฉันได้เข้าไปในไฟล์โมเดลแล้วและเพิ่มhas_and_belongs_to_many :restaurantsและhas_and_belongs_to_many :users ฉันคิดว่า ณ จุดนี้ฉันควรจะทำอะไรบางอย่างเช่นกับ Rails 3: rails generate migration .... แต่ทุกสิ่งที่ฉันพยายามดูเหมือนจะล้มเหลว ฉันแน่ใจว่านี่เป็นอะไรที่ง่ายมากฉันยังใหม่กับรางดังนั้นฉันจึงยังคงเรียนรู้


8
ฉันจะใช้ Factory Girl เพื่อสร้างสิ่งที่แนบมากับคลิปหนีบกระดาษได้อย่างไร
ฉันมีโมเดลบุคคลที่มีรูปภาพจำนวนมากโดยที่รูปภาพมีฟิลด์แนบคลิปหนีบกระดาษที่เรียกว่าข้อมูลซึ่งเป็นเวอร์ชันย่อที่แสดงด้านล่าง: class Person has_many :images ... end class Image has_attached_file :data belongs_to :person ... end บุคคลจะต้องมีอย่างน้อยหนึ่งภาพติดอยู่ เมื่อใช้ FactoryGirl ฉันมีรหัสคล้ายกับสิ่งต่อไปนี้: Factory.define :image do |a| a.data { File.new(File.join(Rails.root, 'features', 'support', 'file.png')) } a.association :person end Factory.define :person do |p| p.first_name 'Keyzer' p.last_name 'Soze' p.after_create do |person| person.assets = [Factory.build(:image, :person => person)] …

7
มีปัญหาในการเปรียบเทียบเวลากับ RSpec
ฉันใช้ Ruby บน Rails 4 และ rspec-rail gem 2.14 สำหรับอ็อบเจ็กต์ของฉันฉันต้องการเปรียบเทียบเวลาปัจจุบันกับupdated_atแอ็ตทริบิวต์อ็อบเจ็กต์หลังจากรันแอ็คชันคอนโทรลเลอร์ แต่ฉันมีปัญหาเนื่องจากข้อมูลจำเพาะไม่ผ่าน นั่นคือกำหนดต่อไปนี้เป็นรหัสข้อมูลจำเพาะ: it "updates updated_at attribute" do Timecop.freeze patch :update @article.reload expect(@article.updated_at).to eq(Time.now) end เมื่อฉันเรียกใช้ข้อมูลจำเพาะข้างต้นฉันได้รับข้อผิดพลาดต่อไปนี้: Failure/Error: expect(@article.updated_at).to eq(Time.now) expected: 2013-12-05 14:42:20 UTC got: Thu, 05 Dec 2013 08:42:20 CST -06:00 (compared using ==) ฉันจะทำ spec ให้ผ่านได้อย่างไร? หมายเหตุ : ฉันลองทำสิ่งต่อไปนี้แล้วด้วย (สังเกตการutcเพิ่มเติม): …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.