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

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

3
เมื่อใดควรเพิ่มดัชนีใดในตารางใน Rails
ฉันมีคำถามเกี่ยวกับฐานข้อมูล Rails ฉันควรเพิ่ม "ดัชนี" ให้กับคีย์ต่างประเทศทั้งหมดเช่น "xxx_id" หรือไม่ ฉันควรเพิ่ม "ดัชนี" ในคอลัมน์ "id" ที่สร้างขึ้นโดยอัตโนมัติหรือไม่ ฉันควรเพิ่ม "ดัชนี (ไม่ซ้ำกัน)" ในคอลัมน์ "id" ที่สร้างขึ้นโดยอัตโนมัติหรือไม่ หากฉันเพิ่มดัชนีให้กับคีย์ต่างประเทศสองรายการพร้อมกัน ( add_index (:users, [:category, :state_id])จะเกิดอะไรขึ้นสิ่งนี้แตกต่างจากการเพิ่มดัชนีสำหรับแต่ละคีย์อย่างไร class CreateUsers < ActiveRecord::Migration def self.up create_table :users do |t| t.string :name t.integer :category_id t.integer :state_id t.string :email t.boolean :activated t.timestamps end # Do I need …

14
วิธีที่ดีที่สุดในการสร้างตัวเลือกการกำหนดค่าที่กำหนดเองสำหรับแอป Rails ของฉัน?
ฉันต้องการสร้างตัวเลือกการกำหนดค่าหนึ่งตัวสำหรับแอปพลิเคชัน Rails ของฉัน อาจเหมือนกันสำหรับทุกสภาพแวดล้อม ฉันพบว่าถ้าฉันตั้งค่าไว้environment.rbมันมีอยู่ในมุมมองของฉันซึ่งตรงกับที่ฉันต้องการ ... environment.rb AUDIOCAST_URI_FORMAT = http://blablalba/blabbitybla/yadda ใช้งานได้ดี อย่างไรก็ตามฉันไม่สบายใจเล็กน้อย วิธีนี้เป็นวิธีที่ดีหรือไม่? มีวิธีที่ฮิปกว่านี้ไหม?

15
ฉันจะล้างคนงาน Resque ค้าง / ค้างได้อย่างไร
ดังที่คุณเห็นจากภาพที่แนบมาฉันมีคนงานสองสามคนที่ดูเหมือนจะติดอยู่ กระบวนการเหล่านี้ไม่ควรใช้เวลานานเกินสองสามวินาที ฉันไม่แน่ใจว่าทำไมพวกเขาไม่ล้างหรือวิธีลบออกด้วยตนเอง ฉันใช้ Heroku โดยใช้ Resque กับ Redis-to-Go และ HireFire เพื่อปรับขนาดคนงานโดยอัตโนมัติ

5
วิธีการที่ไม่ได้กำหนด source_index สำหรับ Gem: Module (NoMethodError)
ฉันใช้งานแอปพลิเคชัน Rails 2.3.5 และเมื่อเรียกใช้สคริปต์ / เซิร์ฟเวอร์ฉันจะแสดงสิ่งต่อไปนี้: ./script/../config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path': undefined method `source_index' for Gem:Module (NoMethodError) from ./script/../config/boot.rb:60:in `load_initializer' from ./script/../config/boot.rb:44:in `run' from ./script/../config/boot.rb:17:in `boot!' from ./script/../config/boot.rb:123 from script/server:2:in `require' from script/server:2 ถ้าฉันแสดงความคิดเห็นในบรรทัด 60 ใน boot.rb (Rails :: GemDependency.add_frozen_gem_path) และเรียกใช้สคริปต์ / เซิร์ฟเวอร์ฉันจะได้รับสิ่งนี้: => Booting WEBrick => Rails 2.3.5 application starting on http://0.0.0.0:3000 …

14
Rails 3: รับบันทึกแบบสุ่ม
ดังนั้นฉันได้พบหลายตัวอย่างในการค้นหาเร็กคอร์ดแบบสุ่มใน Rails 2 - วิธีที่ต้องการน่าจะเป็น: Thing.find :first, :offset => rand(Thing.count) เนื่องจากเป็นมือใหม่ฉันไม่แน่ใจว่าจะสร้างสิ่งนี้ได้อย่างไรโดยใช้ไวยากรณ์การค้นหาใหม่ใน Rails 3 แล้ว "Rails 3 Way" ในการค้นหาระเบียนแบบสุ่มคืออะไร?

8
การทดสอบ Ruby ทั้งหมดเพิ่ม: วิธีการที่ไม่ได้กำหนดʻauthenticate 'สำหรับ nil: NilClass
การทดสอบส่วนใหญ่ของฉันมีดังต่อไปนี้และฉันไม่เข้าใจว่าทำไม การเรียกวิธีการทั้งหมดทำให้เกิดข้อผิดพลาด 'รับรองความถูกต้อง' ฉันได้ตรวจสอบโค้ดแล้วหากมีวิธีที่เรียกว่า "พิสูจน์ตัวตน" แต่ไม่มีวิธีการดังกล่าว 1) Admin::CommentsController handling GET to index is successful Failure/Error: get :index undefined method `authenticate!' for nil:NilClass # ./spec/controllers/admin/comments_controller_spec.rb:9:in `block (3 levels) in <top (required)>' 124) PostsController handling GET for a single post should render show template Failure/Error: get :show, :year => '2008', :month => …

15
Rails 3: wrapper“ field-with-error” เปลี่ยนลักษณะของเพจ จะหลีกเลี่ยงสิ่งนี้ได้อย่างไร?
ฟิลด์อีเมล: <label for="job_client_email">Email: </label> <input type="email" name="job[client_email]" id="job_client_email"> มีลักษณะดังนี้: แต่หากการตรวจสอบอีเมลล้มเหลวจะกลายเป็น: <div class="field_with_errors"> <label for="job_client_email">Email: </label> </div> <div class="field_with_errors"> <input type="email" value="wrong email" name="job[client_email]" id="job_client_email"> </div> ซึ่งมีลักษณะดังนี้: ฉันจะหลีกเลี่ยงการเปลี่ยนแปลงรูปลักษณ์นี้ได้อย่างไร


6
วิธีอัปเดตแอตทริบิวต์โดยไม่ต้องตรวจสอบความถูกต้อง
ฉันมีโมเดลที่มีการตรวจสอบความถูกต้องและพบว่าฉันไม่สามารถอัปเดตแอตทริบิวต์โดยไม่ตรวจสอบความถูกต้องของวัตถุมาก่อน ฉันพยายามเพิ่มon => :createไวยากรณ์ในตอนท้ายของแต่ละบรรทัดการตรวจสอบแล้ว แต่ก็ได้ผลลัพธ์เหมือนกัน รูปแบบการประกาศของฉันมีการตรวจสอบความถูกต้องดังต่อไปนี้: validates_presence_of :title validates_presence_of :description validates_presence_of :announcement_type_id validate :validates_publication_date validate :validates_start_date validate :validates_start_end_dates validate :validates_category validate :validates_province validates_length_of :title, :in => 6..255, :on => :save validates_length_of :subtitle, :in => 0..255, :on => :save validates_length_of :subtitle, :in => 0..255, :on => :save validates_length_of :place, :in => …


11
วิธีทำงานกับสาขา Git และการย้ายข้อมูล Rails
ฉันกำลังทำงานกับแอพพลิเคชั่นรางที่มี git branch ค่อนข้างน้อยและหลาย ๆ แอพมีการโอนย้ายฐานข้อมูล เราพยายามระมัดระวัง แต่บางครั้งโค้ดบางส่วนในมาสเตอร์จะขอคอลัมน์ที่ถูกลบ / เปลี่ยนชื่อในสาขาอื่น อะไรคือทางออกที่ดีสำหรับ "คู่" สาขา git ที่มีสถานะ DB "รัฐ" เหล่านี้จะเป็นอย่างไร? เราไม่สามารถทำซ้ำฐานข้อมูลได้หากมีขนาดไม่กี่ GB และควรเกิดอะไรขึ้นกับการผสาน? โซลูชันจะแปลเป็นฐานข้อมูล noSQL ด้วยหรือไม่? ปัจจุบันเราใช้ MySQL, mongodb และ redis แก้ไข: ดูเหมือนว่าฉันลืมพูดถึงประเด็นที่สำคัญมากฉันสนใจแค่สภาพแวดล้อมการพัฒนาแต่มีฐานข้อมูลขนาดใหญ่ (ขนาดไม่กี่ GB)

19
สร้างแอปพลิเคชั่น Ruby on Rails ใหม่โดยใช้ MySQL แทน SQLite
ฉันต้องการสร้างแอพพลิเคชั่น Rails ด้วย MySQL เพราะฉันชอบมันมาก ฉันจะทำสิ่งนั้นใน Rails รุ่นล่าสุดแทนที่จะเป็น SQLite เริ่มต้นได้อย่างไร

6
มีการใช้ที่อยู่ - ผูก (2) (Errno :: EADDRINUSE)
ฉันกำลังพยายามปรับใช้แอพ Rails กับเว็บเซิร์ฟเวอร์ Puma เมื่อพยายามเริ่มต้นเซิร์ฟเวอร์ Puma ด้วยไฟล์ปรับแต่งbundle exec puma -C config/puma.rbฉันได้รับข้อผิดพลาดว่ามีการใช้ที่อยู่แล้ว มีใครรู้วิธีแก้ไขปัญหานี้หรือไม่? bundle exec puma -C config/puma.rb [23699] Puma starting in cluster mode... [23699] * Version 2.11.3 (ruby 2.0.0-p353), codename: Intrepid Squirrel [23699] * Min threads: 5, max threads: 5 [23699] * Environment: development [23699] * Process workers: 2 [23699] …

10
AngularJS- เข้าสู่ระบบและรับรองความถูกต้องในแต่ละเส้นทางและตัวควบคุม
ฉันมีแอปพลิเคชั่น AngularJS ที่สร้างขึ้นโดยใช้ Yeoman, Grunt และ Bower ฉันมีหน้าล็อกอินที่มีคอนโทรลเลอร์ที่ตรวจสอบการพิสูจน์ตัวตน ถ้าข้อมูลรับรองถูกต้องฉันเปลี่ยนเส้นทางไปที่โฮมเพจ app.js 'use strict'; //Define Routing for app angular.module('myApp', []).config(['$routeProvider', '$locationProvider', function($routeProvider,$locationProvider) { $routeProvider .when('/login', { templateUrl: 'login.html', controller: 'LoginController' }) .when('/register', { templateUrl: 'register.html', controller: 'RegisterController' }) .when('/forgotPassword', { templateUrl: 'forgotpassword.html', controller: 'forgotController' }) .when('/home', { templateUrl: 'views/home.html', controller: 'homeController' }) …

4
Ruby on Rails: ฉันจะเพิ่มข้อ จำกัด ที่ไม่ใช่ null ในคอลัมน์ที่มีอยู่โดยใช้การย้ายข้อมูลได้อย่างไร
ในแอพ Rails (3.2) ของฉันฉันมีตารางมากมายในฐานข้อมูลของฉัน แต่ฉันลืมที่จะเพิ่มข้อ จำกัด ที่ไม่เป็นโมฆะ ฉัน googled ไปรอบ ๆ แต่ฉันไม่พบวิธีเขียนการย้ายข้อมูลที่เพิ่มค่าว่างในคอลัมน์ที่มีอยู่ TIA

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