WebHU - Programozási kérdések és válaszok

Ruby-hiba, nincs ilyen fájl a composite_primary_keys betöltéséhez

Új vagyok a Railsben, de összetett elsődleges kulcsot kell használnom a Ruby 1.9.2-t és a Rails 3-at futtató alkalmazásomban. Nem tudom megfelelően működésre bírni az összetett kulcsokat a Ruby on Rails alkalmazásban. Követtem a a compositekeys webhelyen található utasításokat, de továbbra is ugyanazt a hibaüzenetet kapom: nincs ilyen fájl load -- összetett_elsődleges_kulcsok

1 - sudo gem install composite_primary_keys
2 - Adja hozzá a szükséges 'composite_primary_keys' értéket a conf/environment.rb fájl végéhez
3 - Hozzáadta a set_primary_keys

A drágakő listám így néz ki:

abstract (1.0.0)
actionmailer (3.0.1)
actionpack (3.0.1)
activemodel (3.0.3, 3.0.1)
activerecord (3.0.1)
activeresource (3.0.1)
activesupport (3.0.3, 3.0.1)
arel (2.0.3, 1.0.1)
builder (2.1.2)
bundler (1.0.3)
composite_primary_keys (2.3.5.1)

A domain osztályom így néz ki:

class Radioreport < ActiveRecord::Base
  set_primary_keys :service_id, :date_id
  belongs_to :report_date, :foreign_key => "date_id"
  belongs_to :service, :foreign_key => "service_id"
  ...

A környezetfájlom pedig így néz ki:

 # Load the rails application
 require File.expand_path('../application', __FILE__)
 # Initialize the rails application
 Upreports::Application.initialize!
 require 'composite_primary_keys'

A "rake teszt" futtatásakor a következő hibaüzenetet kapom:

rake aborted!
no such file to load -- composite_primary_keys

Az egységteszt a következő:

require 'test_helper'
require 'rubygems'
require 'composite_primary_keys'

class RadioreportTest < ActiveSupport::TestCase
  fixtures :radioreports, :services, :genres, :groups, :locations, :report_dates
  def setup
    @radioReport = Radioreport.new
  end

  def test_should_put_all_radios_and_totals_in_a_hash
    transactions = Radioreport.find(:all)
    reportTransactions = @radioReport.getRadioTotalsByDayMap(transactions)
    assert_not_nil(reportTransactions)
    assert_equal(2, reportTransactions.size)
    previousKey = nil
    previousValue = nil 
    reportTransactions.each{|key, value|
      if(previousKey == nil || previousValue == nil) 
        previousKey = key
        previousValue = value
      else
        assert_not_nil(key)
        assert_not_equal(previousKey, key)
        assert_not_nil(value)
        assert_not_equal(previousValue, value)
      end
    }
  end

Megnéztem a következő szálat, de ez az egyik nem vonatkozik. Már megnéztem a rake-emet, drágakömet stb.
Köszönöm srácok! ;)


Válaszok:


1

A Githubban folyó vita szerint a CPK még nem támogatja a Rails 3-at. , úgy tűnik, hogy vannak olyan emberek, akik különféle forkokban dolgoznak azért, hogy ez működjön.

17.11.2010
Új anyagok

A rádiógomb ellenőrzött eseményének használata a jQueryben
Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

Miért érdemes elkezdeni a kódolást 2023-ban?
01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

🎙 Random Noise #2  – Örökbefogadás és hit
az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..