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

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

9
ราง i18n - แปลข้อความพร้อมลิงก์ด้านใน
ฉันต้องการ i18n ข้อความที่มีลักษณะดังนี้: ลงทะเบียนแล้ว? เข้าสู่ระบบ! โปรดทราบว่ามีลิงก์บนข้อความ ตัวอย่างนี้จะชี้ไปที่ google - ในความเป็นจริงมันจะชี้ไปที่ของ log_in_pathapp ฉันพบสองวิธีในการทำเช่นนี้ แต่ไม่มีวิธีใดที่ "ถูกต้อง" วิธีแรกที่ฉันรู้ว่ามีสิ่งนี้en.yml: log_in_message: "Already signed up? <a href='{{url}}'>Log in!</a>" และในมุมมองของฉัน: <p> <%= t('log_in_message', :url => login_path) %> </p> วิธีนี้ใช้งานได้ แต่การมี<a href=...</a>ส่วนในการen.ymlดูไม่สะอาดสำหรับฉัน อีกตัวเลือกที่ผมรู้ก็คือการใช้ภาษาท้องถิ่นมุมมอง - และlogin.en.html.erblogin.es.html.erb สิ่งนี้ก็ไม่ถูกต้องเช่นกันเนื่องจากบรรทัดเดียวที่แตกต่างกันจะเป็นบรรทัดที่กล่าวมา ส่วนที่เหลือของมุมมอง (~ 30 บรรทัด) จะถูกทำซ้ำสำหรับมุมมองทั้งหมด มันจะไม่แห้งมาก ฉันเดาว่าฉันสามารถใช้ "localized partials" ได้ แต่ดูเหมือนว่า cumberstone …

3
คลาสเงื่อนไขแบบไดนามิกบาง [ปิด]
ปิด . คำถามนี้ต้องการรายละเอียดหรือความคมชัด ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ เพียงเพื่อช่วยนักพัฒนาคนอื่น ๆ เพราะไม่มีคำถามที่คล้ายกันใน SO div class=(is_active? ? 'active' : 'inactive') div class=('active' if is_active?)

13
ActiveRecord.find (array_of_ids) รักษาการสั่งซื้อ
เมื่อคุณทำSomething.find(array_of_ids)ใน Rails, array_of_idsสั่งซื้อสินค้าของอาร์เรย์ที่เกิดขึ้นไม่ได้ขึ้นอยู่กับคำสั่งของ มีวิธีใดในการค้นหาและรักษาคำสั่งซื้อหรือไม่? ATM ฉันจัดเรียงระเบียนด้วยตนเองตามลำดับของ ID แต่นั่นเป็นเรื่องง่อย UPD: ถ้าเป็นไปได้ที่จะระบุคำสั่งโดยใช้:orderพารามิเตอร์และส่วนคำสั่ง SQL บางประเภทแล้วจะทำอย่างไร?

8
ฉันจะพิมพ์เนื้อหาของออบเจ็กต์ใน Rails ได้อย่างไรเพื่อให้ง่ายต่อการดีบั๊ก
ฉันคิดว่าฉันกำลังพยายามทำให้ PHP เทียบเท่าprint_r()(พิมพ์ที่มนุษย์อ่านได้); ในปัจจุบันผลลัพธ์ดิบคือ: ActiveRecord::Relation:0x10355d1c0 ฉันควรทำอย่างไรดี?

4
Rails: สร้างในการเชื่อมโยง has_one
สวัสดี (มือใหม่ Rails ตัวใหญ่ที่นี่) ฉันมีโมเดลต่อไปนี้: class Shop < ActiveRecord::Base belongs_to :user validates_uniqueness_of :title, :user_id, :message => "is already being used" end และ class User < ActiveRecord::Base has_one :shop, :dependent => :destroy end เมื่อฉันกำลังจะสร้างร้านใหม่ฉันได้รับข้อผิดพลาดดังต่อไปนี้: private method `create' called for nil:NilClass นี่คือตัวควบคุมของฉัน: @user = current_user @shop = @user.shop.create(params[:shop]) ฉันได้ลองใช้รูปแบบต่างๆโดยอ่านคู่มือและแบบฝึกหัดที่นี่และที่นั่น แต่ฉันสับสนมากกว่าเดิมและไม่สามารถใช้งานได้ ความช่วยเหลือใด ๆ …

12
ใช้ link_to กับ HTML ที่ฝังไว้
ฉันใช้สิ่ง Bootstrap ของ Twitter และฉันมี HTML ต่อไปนี้: <a class="btn" href="<%= user_path(@user) %>"><i class="icon-ok icon-white"></i> Do it@</a> อะไรคือวิธีที่ดีที่สุดในการทำสิ่งนี้ใน Rails? ฉันอยากจะใช้<%= link_to 'Do it', user_path(@user) %>แต่<i class="icon-ok icon-white"></i>มันทำให้ฉันทิ้งไปงั้นเหรอ?

10
ค้นหาระเบียนทั้งหมดที่มีจำนวนการเชื่อมโยงมากกว่าศูนย์
ฉันกำลังพยายามทำบางสิ่งที่ฉันคิดว่ามันจะง่าย แต่ดูเหมือนจะไม่เป็นเช่นนั้น ฉันมีโมเดลโครงการที่มีตำแหน่งงานว่างมากมาย class Project < ActiveRecord::Base has_many :vacancies, :dependent => :destroy end ฉันต้องการรับโครงการทั้งหมดที่มีตำแหน่งว่างอย่างน้อย 1 ตำแหน่ง ฉันลองทำสิ่งนี้: Project.joins(:vacancies).where('count(vacancies) > 0') แต่มันบอกว่า SQLite3::SQLException: no such column: vacancies: SELECT "projects".* FROM "projects" INNER JOIN "vacancies" ON "vacancies"."project_id" = "projects"."id" WHERE ("projects"."deleted_at" IS NULL) AND (count(vacancies) > 0).

3
เรียกใช้การโทรกลับเฉพาะเมื่อแอตทริบิวต์มีการเปลี่ยนแปลงใน Rails
ฉันมีการเชื่อมโยงต่อไปนี้ในแอปของฉัน: # Page belongs_to :status ฉันต้องการที่จะเรียกใช้โทรกลับตลอดเวลาstatus_idของpageมีการเปลี่ยนแปลง ดังนั้นถ้าpage.status_idไปจาก 4 เป็น 5 ฉันอยากจะจับมันได้ ต้องทำอย่างไร?

1
rspec 3 - ทำลายเมธอดคลาส
ฉันกำลังอัปเกรดจาก rspec 2.99 เป็น rspec 3.0.3 และได้แปลงวิธีการใช้อินสแตนซ์allow_any_instance_ofแล้ว แต่ยังไม่ได้หาวิธีที่จะทำให้เมธอดคลาสแตก ฉันมีรหัสดังนี้: module MyMod class Utils def self.find_x(myarg) # Stuff end end end และการทดสอบ rspec 2 ของฉันทำสิ่งนี้: MyMod::Utils.stub(:find_x).and_return({something: 'testing'}) Rspec 3 คืออะไรในการทำสิ่งนี้?

7
ลบ ActiveRecord ใน Rails 3
ตอนนี้ Rails 3 beta ใช้งานได้แล้วฉันคิดว่าจะได้ดูการเขียนแอปใหม่ที่เพิ่งเริ่มใช้งานใน Rails 3 beta ทั้งสองอย่างเพื่อให้รู้สึกถึงมันและเริ่มต้นได้เล็กน้อย แอพนี้ใช้ MongoDB และ MongoMapper สำหรับทุกรุ่นดังนั้นจึงไม่จำเป็นต้องใช้ ActiveRecord ในเวอร์ชันก่อนหน้าฉันกำลังยกเลิกการโหลด activerecord ด้วยวิธีต่อไปนี้: config.frameworks -= [ :active_record ] # inside environment.rb ในเวอร์ชันล่าสุดสิ่งนี้ใช้ไม่ได้ - เพียงแค่แสดงข้อผิดพลาด: /Library/Ruby/Gems/1.8/gems/railties-3.0.0.beta/lib/rails/configuration.rb:126:in `frameworks': config.frameworks in no longer supported. See the generated config/boot.rb for steps on how to limit the frameworks that will …

16
ไม่ได้ตั้งค่าคีย์ลับของ Devise
ฉันกำลังพัฒนาแอพ Rails 4 โดยใช้อัญมณี Active Admin สำหรับแบ็คเอนด์การดูแลระบบ ผู้ดูแลระบบที่ใช้งานอยู่จะใช้ Devise สำหรับการตรวจสอบผู้ใช้ ตอนนี้เมื่อฉันพยายามปรับใช้แอพโดยใช้capistranoบนเซิร์ฟเวอร์ VPS ฉันได้รับข้อผิดพลาดด้านล่าง: rake aborted! Devise.secret_key was not set. Please add the following to your Devise initializer: config.secret_key = '-- secret key --' การค้นหาโดย Google ไม่ได้ทำอะไรมากสำหรับข้อผิดพลาดนี้ ข้อเสนอแนะใด ๆ ว่าเหตุใดจึงเกิดข้อผิดพลาด? ฉันควรเพิ่มรหัสลับในโปรแกรมdeviseเริ่มต้นเนื่องจากฉันไม่พบสถานที่ใด ๆ ในการตั้งค่าคีย์การกำหนดค่าดังกล่าวinitializers/devise.rb?

6
Rails 4 image-path, image-url และ asset-url ไม่ทำงานในไฟล์ SCSS อีกต่อไป
เราควรใช้อย่างอื่นนอกเหนือจากimage-urlและอื่น ๆ ใน Rails 4 หรือไม่? พวกเขาส่งคืนค่าที่แตกต่างกันซึ่งดูเหมือนจะไม่สมเหตุสมผล ถ้าผมมีlogo.pngใน/app/assets/images/logo.pngและฉันจะทำต่อไปนี้คือสิ่งที่ผมได้รับ: image-url("logo.png") -> url("/images/logo.png") #obviously doesn't work image-path("logo.png") -> "/images/logo.png" asset-url("logo.png") -> url("/logo.png") แน่นอนว่าไม่มีงานเหล่านี้เพราะพวกเขาต้องการอย่างน้อย/assetsต่อหน้า UPDATE : จริงๆแล้วฉันเพิ่งสังเกตว่าฉันจะเข้าถึงภาพใน Rails 4 ได้อย่างไร ฉันมีภาพที่/app/assets/images/logo.png. แต่ถ้าฉันไปที่ URL ใด ๆ ต่อไปนี้ฉันยังไม่เห็นภาพของฉัน: http://localhost:3000/assets/logo.png http://localhost:3000/assets/images/logo.png http://localhost:3000/logo.png http://localhost:3000/images/logo.png อัปเดต 2 : วิธีเดียวที่ฉันสามารถเรียกใช้งานได้logo.pngคือการย้ายไปยัง/app/assets/stylesheetsไดเร็กทอรีจากนั้นดึงขึ้น: http://localhost:3000/assets/logo.png

4
Rails: สับสนเกี่ยวกับไวยากรณ์สำหรับการส่งชาวบ้านไปยังบางส่วน
การทำความเข้าใจกับ "เวทมนตร์" ของ Rails เกี่ยวกับการแสดงผลบางส่วน (และส่งผ่านคนในท้องถิ่นเข้าไปในพวกเขา) ทำไมถึงได้ผล: <%= render "rabbits/form" %> และงานนี้: <%= render "rabbits/form", :parent => @warren, :flash => flash %> แต่ไม่ได้ผล: <%= render "rabbits/form", :locals => { :parent => @warren, :flash => flash } %> แต่สิ่งนี้ทำ: <%= render :partial =>"rabbits/form", :locals => { :parent => @warren, :flash => …


5
ฉันจะดึงอักขระที่ไม่ใช่ตัวเลขและตัวอักษรออกจากสตริงและเว้นช่องว่างได้อย่างไร
ฉันต้องการสร้างนิพจน์ทั่วไปที่ลบอักขระที่ไม่ใช่ตัวอักษรและตัวเลขทั้งหมด แต่เว้นช่องว่างไว้ นี่คือการล้างข้อมูลการค้นหาก่อนที่จะเข้าสู่ฐานข้อมูล นี่คือสิ่งที่ฉันมีจนถึงตอนนี้: @search_query = @search_query.gsub(/[^0-9a-z]/i, '') ปัญหาที่นี่คือการลบช่องว่างทั้งหมด แนวทางแก้ไขในการรักษาช่องว่าง?

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