Ошибка Ruby - нет такого файла для загрузки - Composite_primary_keys - PullRequest
1 голос
/ 17 ноября 2010

Я новичок в Rails, но мне нужно использовать составной первичный ключ в моем приложении, работающем на Ruby 1.9.2 и Rails 3. Я не могу заставить правильно работать составные ключи в моем приложении Ruby on Rails.Я следовал указаниям на сайте композитных ключей , но все равно получаю ту же ошибку: нет такого файла для загрузки - Composit_primary_keys

1 - sudo gem install композитный_primary_keys
2- Добавьте требуемый 'Composit_primary_keys' в конце файла conf / environment.rb
3. - Добавлен set_primary_keys

Мой список драгоценных камней выглядит следующим образом:

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)

Мой доменКласс выглядит следующим образом:

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"
  ...

И мой файл среды выглядит так:

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

Ошибка, которую я получаю, заключается в следующем, когда я запускаю мой 'тест rake':

rake aborted!
no such file to load -- composite_primary_keys

Модульный тест:

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

Я проверил следующее thread , но это не применимо.Я уже проверил свои грабли, драгоценный камень и т. Д.
Спасибо, ребята!;)

1 Ответ

0 голосов
/ 17 ноября 2010

Согласно обсуждению в Github , CPK еще не поддерживает Rails 3. Однако, похоже, что люди работают на разных форках, чтобы заставить это работать.

...