2016-04-13 31 views
0

Harici bir sql veritabanına erişiyorum.İlişkili alana düzgün bir şekilde hitap edemiyor

: bunun için rb dosya birleştirme ve bana günlük verilerini İşte

ActiveRecord::ConfigurationError in Searches#show 
Showing C:/Users/cmendla/RubymineProjects/product_development/app/views/searches/show.html.erb where line #18 raised: 

Association named 'users' was not found on Opportunity; perhaps you misspelled it? 
Rails.root: C:/Users/cmendla/RubymineProjects/product_development 

Application Trace | Framework Trace | Full Trace 
app/views/searches/show.html.erb:18:in `_app_views_searches_show_html_erb__590262190_43507272' 

bir hata veriyor Yani

@opportunities = @opportunities.joins(:users).where("users.name like ?", "%#{account_manager}%") 

ile seçmek çalışıyorum

class CrmTable < ActiveRecord::Base 

     self.abstract_class = true 
     def self.table_name_prefix 
     'dbo_' 
     end 
     establish_connection "crm_tables" 
end 

class Address < CrmTable 
    self.table_name = "Address" 
end 

class Opportunity < CrmTable 
    self.table_name = "Opportunity" 
# belongs_to :Person, foreign_key: :primarypersonid 
    belongs_to :user 
end 


class CrmUser < CrmTable 
    self.table_name = "Users" 
    has_many :opportunities 
end 

olduğunu

ActionView::Template::Error (Association named 'users' was not found on Opportunity; perhaps you misspelled it?): 
    15: 
    16: <% if 5 == 5 then %> 
    17: <hr> 
    18: <% @opportunities.each do |opportunity| %> 
    19:  <hr> 
    20: 
    21:  <h1>New item</h1> 
    app/views/searches/show.html.erb:18:in `_app_views_searches_show_html_erb__590262190_43507272' 

Notlar 1 - Adauth kimlik doğrulaması için kullanıcı adı verilen bir tablom var. Bunun bir soruna neden olabileceğinden emin değilim. 2 - raylar uygulamasından tablolar

+1

'database.yml' dosyanızı yükleyebilir misiniz? ve CrmTable'ın bir sınıf değil, bir sınıf olması gerektiğini söyler, tüm iç içe geçmiş modeller, altını değil, içine dahil edilir. – Almaron

cevap

1

deneyin (Gerçi konularda sanmıyorum) bir pd_ şema öneki ile ayrı bir veritabanında ise erişmeye çalışıyorum harici veritabanı dbo şema öneki vardır belongs_to :user, class: 'CrmUser'

+0

Bu bana doğru yönde gitmemi sağladı. Ayrıca, "belongs_to: users, class_name: 'CrmUser', foreign_key:: oppo_AssignedUserId' adlı belçemelere bir yabancı anahtar eklemek zorunda kaldım." @opportunities = @ opportunities.joins (: users) .where ("users.User_LastName like?", "% # {account_manager}%"). Beni duymak iyi –

+0

doğru yönde gitme aldın mı. onun güzel AR eski sistemler ile çalışmak için kancaları vardır. İyi şanslar! –

İlgili konular