রেলস 4 এর জন্য অ্যাক্টিভেকর্ডটি অক্ষম করুন


113

আমি 4 রেলগুলিতে অ্যাক্টিভেকর্ডটি অক্ষম করতে চাই I config/application.rb

require File.expand_path('../boot', __FILE__)

# require 'rails/all'  -- commented

require "action_controller/railtie"
require "action_mailer/railtie"
#require "active_resource/railtie" no need
#require "rails/test_unit/railtie" no need
#require "sprockets/railtie" no need

# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(:default, Rails.env)

module MyApp
  class Application < Rails::Application
     config.app_middleware.delete "ActiveRecord::ConnectionAdapters::ConnectionManagement"
  end
end

দ্বারা আমি একটি ত্রুটি আছে

/home/alex/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/railtie/configuration.rb:95:in 
  method_missing: undefined method active_record for #<Rails::Application::Configuration:0x00000002005c38> (NoMethodError)

4
কেন শুধু rails new ... -Oঅ্যাক্টিভেকর্ড অক্ষম করতে ব্যবহার করবেন না ?
ইয়েগেনিয়ে আনফিলোফিয়েভ

অ্যাপ_মিডলওয়্যার.ডিলেট কি প্রয়োজনীয়, এমনকি সমস্যাটির কারণ হতে পারে?
ঘর 9

বিদ্যমান রেল 4/5/6 অ্যাপ্লিকেশনগুলির জন্য, আপনি এই উত্তরটি অনুসরণ করে সক্রিয় রেকর্ডটি অক্ষম করতে পারেন ।
লেগোস

উত্তর:


261

আপনি যদি একটি নতুন অ্যাপ্লিকেশন তৈরি করে থাকেন তবে আপনি -Oঅ্যাক্টিভেকর্ড বাদ দিতে ব্যবহার করতে পারেন :

rails new my_app -O

বিদ্যমান অ্যাপ্লিকেশনগুলির জন্য:

1. আপনার জেমফাইলে (মাইএসকিএল 2, স্ক্লাইট 3, ইত্যাদি) থেকে ডাটাবেস অ্যাডাপ্টার রত্নগুলি সরিয়ে ফেলুন 1.

2. আপনার পরিবর্তন config/application.rb

সরান require 'rails/allলাইন এবং অবকাঠামো (যাদের মধ্যে প্রয়োজন প্রাপ্তিসাধ্য আপনার railsআপনি উদাহরণস্বরূপ, ব্যবহার করতে চান সংস্করণ, তালিকা তারতম্য শুধু কপি করবেন না):

require "action_controller/railtie"
require "action_mailer/railtie"
require "sprockets/railtie"
require "rails/test_unit/railtie"

config.active_record.raise_in_transactional_callbacks = trueথেকে সরানconfig/application.rb

৩. আপনার config/database.ymlফাইল db/schema.rbএবং মাইগ্রেশন মুছুন (যদি থাকে)

৪. মাইগ্রেশন চেক ইন মুছুন test/test_helper.rb

৫. আপনার config/environmentsফাইলগুলি থেকে কোনও অ্যাক্টিভেকর্ড কনফিগারেশন মুছুন (এটিই আপনার ত্রুটির কারণ হয়ে উঠছে )

খালি রেলস অ্যাপ্লিকেশনটির জন্য আপনাকে যা করতে হবে তা এই। আপনি যদি আপনার বিদ্যমান কোড দ্বারা সৃষ্ট সমস্যার মধ্যে চলে যান তবে স্ট্যাক ট্রেস আপনাকে কী পরিবর্তন করতে হবে তা সম্পর্কে পর্যাপ্ত তথ্য দেওয়া উচিত। আপনি উদাহরণস্বরূপ আপনার প্রাথমিকের মধ্যে কিছু অ্যাক্টিভেকর্ড কনফিগারেশন থাকতে পারে।


2
এই পরিবর্তনগুলি ছাড়াও, আমাকে স্পেস_হেল্পার্স.আরবি (আরএসপেক ব্যবহার করে) থেকে কয়েক লাইন সরিয়ে ফেলতে হয়েছিল: ফিক্সচার এবং লেনদেন সম্পর্কে। : আমিও active_model ব্যবহার করছিলেন, তাই আমি এ active_model সঙ্গে active_record প্রতিস্থাপিত এখান থেকে তালিকা প্রয়োজন stackoverflow.com/questions/19078044/...
অর্ণব

3
'রেল / সমস্ত' এর পরিবর্তে প্রয়োজনীয় রেল ফ্রেমওয়ার্কগুলির একটি তালিকা আমি কোথায় দেখতে পাব?
এমাইলসিলভিস

18
require 'rails/all'অন্তর্ভুক্ত সমস্ত কিছুর তালিকা এখানে পাওয়া যাবে
22-15

3
আমি rails new my_app -Oএক মাস আগে একটি অ্যাপ্লিকেশন তৈরি করেছি । এখন আমি সক্রিয় রেকর্ড ফিরে চাই। আমার এখন যুক্ত করা ফাইল / রত্ন / কনফিগারেশন কী কী?
জাক

1
আমাকেও সরিয়ে ফেলতে config.active_record.raise_in_transactional_callbacks = trueহয়েছিল config/application.rb
বি সেভেন

15

হাই এটিই ডিফল্ট রেলগুলি নতুন new_app -O দেয়

require "rails"
# Pick the frameworks you want: 
require "active_model/railtie" 
require "active_job/railtie"
# require "active_record/railtie" 
require "action_controller/railtie" 
require "action_mailer/railtie" 
require "action_view/railtie" 
require "sprockets/railtie" 
require "rails/test_unit/railtie"

আপনার কনফিগারেশন / প্রয়োগ.আরবি

উপরন্তু, এটা ছাড়া আসে database.yml এবং কোন ডিবি / স্থানান্তরণের / * এবং schema.rb


4
এবং 5 রেলগুলির জন্য <= যোগ করুনrequire "action_cable/engine"
Rails_id

7

যেহেতু রেল 5 এর জন্য সক্রিয় রেকর্ড অক্ষম করার জন্য গুগল অনুসন্ধান করার সময় এটি এখনও প্রথম হিট, আমি এটি এখানে যুক্ত করব:

রেলের জন্য 5

@ মেকানিকালফিশ উত্তরে সমস্ত পদক্ষেপগুলি করুন, তবে লাইনটিও সরিয়ে দিন

Rails.application.config.active_record.belongs_to_required_by_default = true

থেকে

config/initializers/new_framework_defaults.rb

5

যারা রেল-এপিআই মণি ব্যবহার --skip-active-recordকরছেন তাদের ক্ষেত্রে পতাকাটি ব্যবহার করার সময় আপনি একই ধরণের ত্রুটির মুখোমুখি হতে পারেন rails-api new my_api। বর্তমান সংশোধন (রত্নটির নতুন সংশোধিত সংস্করণ প্রকাশ না হওয়া অবধি) এই প্রতিশ্রুতি রাখার জন্য আপনার রেল-এপিআই রত্ন সম্পাদনা করা । পুরানোটি ব্যবহার করুন bundle openএবং Gemfileনতুন সংশোধিত একটির সাথে প্রতিস্থাপন করুন । রিরুন এবং আপনার প্রস্তুত হওয়া উচিত।


4

R.২ রেলগুলিতে অ্যাক্টিভেকর্ড অক্ষম করার জন্য আপনি কনফিগার / ইনিশিয়ালাইজার / মিডলওয়্যার.আরবি তৈরি করতে পারেন

Rails.application.middleware.tap do |middleware|
  middleware.delete ActiveRecord::Migration::CheckPending
  middleware.delete ActiveRecord::ConnectionAdapters::ConnectionManagement
  middleware.delete ActiveRecord::QueryCache
end

টার্মিনাল রেক মিডওয়্যার দেখুন


4

5 রেলের জন্য:

আপনি যদি একটি নতুন অ্যাপ্লিকেশন তৈরি করে থাকেন

--skip-active-recordডাটাবেস ছাড়াই অ্যাপ্লিকেশন তৈরি করতে বিকল্পটি ব্যবহার করুন :

rails new myApp --skip-active-record

রেলের পূর্ববর্তী সংস্করণগুলির বিপরীতে অতিরিক্ত হাইফেন '-' লক্ষ্য করুন।


1
যদি আপনি ইতিমধ্যে সক্রিয় রেকর্ড বাদ না দিয়ে আপনার প্রকল্পটি তৈরি করেছেন, তবে কনফিগারেশন / এনভায়রনমেন্টস / # config.active_record.verbose_query_logs = সত্য # config.active_record.migration_error =: পৃষ্ঠা_লোডে সমস্ত অ্যাক্টিভ_রেকার্ড রেফারেন্সের জন্য মন্তব্য করুন: । এটা আমার জন্য এটা।
জুয়ান রিকার্ডো

1
বিন / সেটআপ => # সিস্টেমে এই লাইনটিও মন্তব্য করুন! 'বিন / রেলস ডিবি: সেটআপ'
হুয়ান রিকার্ডো

1

একটি spec/dummyঅ্যাপ্লিকেশন সহ রেল প্লাগইনস (বা রত্ন) জন্য

যখন আপনার রেল অ্যাপ থাকে spec/dummyএবং আপনি প্লাগইন-রুট ডিরেক্টরি থেকে আপনার সার্ভারটি শুরু করেন। আপনি এখনও নিম্নলিখিত ত্রুটি পেয়ে যাচ্ছেন:

Cannot load `Rails.application.database_configuration`: Could not load database configuration. No such file - ["config/database.yml"] 

এটি এড়াতে, require rails/allফাইলের অভ্যন্তরে সরান bin/railsএবং আপনি ব্যবহার করতে চান এমন ফ্রেমওয়ার্ক প্রয়োজন, উদাহরণস্বরূপ:

# Pick the frameworks you want: 
require "active_model/railtie" 
require "active_job/railtie"
# require "active_record/railtie" 
require "action_cable/engine"
require "action_controller/railtie" 
require "action_mailer/railtie" 
require "action_view/railtie" 
require "sprockets/railtie" 
require "rails/test_unit/railtie"

-1

রুবি অন রেল সংস্করণ 5.1.x এর জন্য

require "rails"
# Pick the frameworks you want:
require "active_model/railtie"
require "active_job/railtie"
# require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "action_view/railtie"
require "action_cable/engine"
require "sprockets/railtie"
require "rails/test_unit/railtie"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.