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

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

3
form_for ที่มีทรัพยากรซ้อนกัน
ฉันมีคำถามสองส่วนเกี่ยวกับ form_for และทรัพยากรที่ซ้อนกัน สมมติว่าฉันกำลังเขียนบล็อกเอ็นจิ้นและต้องการเชื่อมโยงความคิดเห็นกับบทความ ฉันได้กำหนดทรัพยากรที่ซ้อนกันดังนี้: map.resources :articles do |articles| articles.resources :comments end แบบฟอร์มความคิดเห็นอยู่ในมุมมอง show.html.erb สำหรับบทความที่อยู่ใต้บทความเช่นนี้ <%= render :partial => "articles/article" %> <% form_for([ :article, @comment]) do |f| %> <%= f.text_area :text %> <%= submit_tag "Submit" %> <% end %> สิ่งนี้ทำให้เกิดข้อผิดพลาด "เรียกว่า id สำหรับศูนย์ซึ่งจะผิดพลาดเป็นต้น" ฉันยังพยายาม <% form_for @article, @comment do |f| …

4
คุณสามารถทำได้มากกว่าการเปรียบเทียบวันที่ในการค้นหา Rails 3 หรือไม่?
ฉันมีการค้นหานี้ใน Rails 3: Note.where(:user_id => current_user.id, :notetype => p[:note_type], :date => p[:date]).order('date ASC, created_at ASC') แต่ผมจำเป็นต้องมีเงื่อนไขที่จะเทียบเท่าการ:date => p[:date] :date > p[:date]ฉันจะทำเช่นนี้ได้อย่างไร? ขอบคุณที่อ่าน.

10
Rspec, Rails: จะทดสอบวิธีส่วนตัวของคอนโทรลเลอร์ได้อย่างไร?
ฉันมีตัวควบคุม: class AccountController < ApplicationController def index end private def current_account @current_account ||= current_user.account end end จะทดสอบ private method current_accountด้วย rspec ได้อย่างไร? ปล. ฉันใช้ Rspec2 และ Ruby บน Rails 3

20
Rails: วิธีใดที่ดีในการตรวจสอบความถูกต้องของลิงก์ (URL)
ฉันสงสัยว่าฉันจะตรวจสอบ URL ใน Rails ให้ดีที่สุดได้อย่างไร ฉันกำลังคิดว่าจะใช้นิพจน์ทั่วไป แต่ไม่แน่ใจว่านี่เป็นแนวทางปฏิบัติที่ดีที่สุดหรือไม่ และถ้าฉันจะใช้ regex มีใครแนะนำให้ฉันได้ไหม ฉันยังใหม่กับ Regex

7
Rails 4 - ส่งผ่านตัวแปรไปยังบางส่วน
ฉันกำลังติดตามบทช่วยสอน Ruby on Rails และพบปัญหาขณะพยายามส่งผ่านตัวแปรไปยังบางส่วน _userบางส่วนของฉันมีดังนี้ <li> <%= gravatar_for user, size: 52 %> <%= link_to user.name, user %> </li> ฉันต้องการส่งตัวเลขสำหรับค่าขนาด ฉันกำลังพยายามดังต่อไปนี้โดยไม่มีโชค <%= render @users, :locals => {:size => 30} %>

13
เปลี่ยนจาก SQLite เป็น PostgreSQL ในโครงการ Rails ใหม่
ฉันมีแอพทางรถไฟที่ฐานข้อมูลอยู่ใน SQLite (การพัฒนาและการผลิต) เนื่องจากฉันกำลังย้ายไปที่ heroku ฉันต้องการแปลงฐานข้อมูลของฉันเป็น PostgreSQL อย่างไรก็ตามฉันได้ยินมาว่าการพัฒนาฐานข้อมูลในพื้นที่ไม่จำเป็นต้องเปลี่ยนจาก SQLite ดังนั้นฉันจึงไม่จำเป็นต้องเปลี่ยนสิ่งนั้นอย่างไรก็ตามฉันจะเปลี่ยนสภาพแวดล้อมการผลิตจาก SQLite เป็น PostgreSQL ได้อย่างไร มีใครเคยทำแบบนี้มาก่อนและสามารถช่วยได้หรือไม่? ปล. ฉันไม่แน่ใจว่ากระบวนการนี้เรียกว่าอะไรกันแน่ แต่ฉันเคยได้ยินเกี่ยวกับการย้ายฐานข้อมูลจาก SQLite ไปยัง PostgreSQL สิ่งที่ต้องทำคืออะไร?

9
คุณได้เปิดใช้งานคราด 0.9.0 แล้ว แต่ Gemfile ของคุณต้องการคราด 0.8.7
ฉันกำลังพยายามดำเนินโครงการทางรถไฟฉันเข้าใจแล้ว Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. ถ้าฉันทำ: "บันเดิลติดตั้ง" แต่ฉันได้รับ You have already activated rake 0.9.0, but your Gemfile requires rake 0.8.7 ในขณะที่ทำ rake db:migrate

3
อะไรคือความแตกต่างระหว่าง "after_create" และ "after_save" และเมื่อใดควรใช้
มีafter_createและafter_saveเช่นเดียวกับการทำงานต่อ? ฉันต้องการดำเนินการกับอีเมลของผู้ใช้หลังจากสร้างบัญชีแล้ว ฉันต้องการดำเนินการดังกล่าวเมื่อบันทึกไว้ในฐานข้อมูล ที่นิยมใช้: after_createหรือafter_save?

21
ไม่สามารถเชื่อมต่อกับ PostgreSQL ในเครื่องได้
ฉันจัดการสภาพแวดล้อมการพัฒนาท้องถิ่นของฉันได้แล้ว ขณะนี้แอป Rails ในพื้นที่ทั้งหมดของฉันให้ข้อผิดพลาด: PGError could not connect to server: Permission denied Is the server running locally and accepting connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"? ฉันไม่รู้ว่ามันเกิดจากอะไร ในขณะที่ค้นหาโซลูชันฉันได้อัปเดตอัญมณีที่รวมอยู่ทั้งหมด, อัญมณีระบบที่อัปเดต, MacPort ที่อัปเดตแล้ว ไม่มีความสุข คนอื่น ๆ รายงานปัญหานี้เมื่ออัปเกรดจาก OSX Leopard เป็น Lion เนื่องจากความสับสนว่าควรใช้ Postgres เวอร์ชันใด (เช่นเวอร์ชัน OSX หรือเวอร์ชัน MacPorts) ฉันใช้งาน Lion มาหลายเดือนแล้วดังนั้นมันจึงดูแปลกที่สิ่งนี้ควรเกิดขึ้นในตอนนี้ ฉันลังเลที่จะยุ่งมากเกินไปโดยไม่เข้าใจก่อนว่าปัญหาคืออะไร ฉันจะแก้จุดบกพร่องนี้อย่างเป็นระบบได้อย่างไร …

6
การระบุชื่อคอลัมน์ในการย้าย "การอ้างอิง"
ฉันต้องการสร้างmigrationใน Rails โดยอ้างอิงตารางอื่น โดยปกติฉันจะทำบางสิ่งเช่น: add_column :post, :user, :references สิ่งนี้สร้างคอลัมน์ที่ตั้งชื่อuser_idในpostsตาราง แต่สิ่งที่ถ้าแทนuser_idฉันต้องการสิ่งที่ชอบauthor_id? ฉันจะทำเช่นนั้นได้อย่างไร?


4
อะไรคือความแตกต่างระหว่างถอนขนและรวบรวมใน Rails?
นี่คือรหัสตัวอย่างสองรหัส คนแรกกับcollect: User.first.gifts.collect(&:id) อันที่สองกับpluck: User.first.gifts.pluck(:id) มีความแตกต่างระหว่างประสิทธิภาพหรืออย่างอื่นหรือไม่?

3
เมื่อใดควรใช้ความสัมพันธ์“ has_many: through” ใน Rails?
ฉันพยายามทำความเข้าใจว่าอะไรhas_many :throughคืออะไรและจะใช้เมื่อใด (และอย่างไร) อย่างไรก็ตามฉันไม่เข้าใจ ฉันกำลังอ่าน Beginning Rails 3 และพยายามใช้ Googling แต่ฉันไม่เข้าใจ

3
วิธีตรวจสอบว่าโมเดลมีคอลัมน์ / แอตทริบิวต์หรือไม่?
ฉันมีวิธีการที่ต้องวนซ้ำแฮชและตรวจสอบว่าแต่ละคีย์มีอยู่ในตารางโมเดลหรือไม่มิฉะนั้นจะลบคีย์ / ค่า ตัวอย่างเช่น number_hash = { :one => "one", :two => "two" } และตาราง Number มีเพียงคอลัมน์เดียวดังนั้น: สองคอลัมน์จะถูกลบ ฉันจะตรวจสอบได้อย่างไรว่าโมเดลมีแอตทริบิวต์หรือไม่?

1
t.belongs_to และ t.references ในรางต่างกันอย่างไร?
อะไรคือความแตกต่างระหว่างt.referencesและt.belongs_to? ทำไมเราถึงมีสองคำที่แตกต่างกัน? ดูเหมือนว่าสำหรับฉันพวกเขาทำสิ่งเดียวกัน? พยายามค้นหาโดย Google แต่ไม่พบคำอธิบาย class CreateFoos < ActiveRecord::Migration def change create_table :foos do |t| t.references :bar t.belongs_to :baz # The two above seems to give similar results t.belongs_to :fooable, :polymorphic => true # I have not tried polymorphic with t.references t.timestamps end end end

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