2013-03-07 74 views
1

IAM在軌道上ruby工作,從遠程服務器機器(SQL SERVER)獲取現有的數據庫表。其實我不知道如何做到這一點。按照這種方式。請糾正我軌道上的紅寶石未初始化的常量錯誤

我的問題是,搭售運行uninitialized constant TrDeviceDetailsController::TRDeviceDetail越來越。

我在database.yml文件中設置如下。

development: 
    adapter: sqlserver 
    mode: odbc 
    database: BObd 
    dsn: newdb_64 
    username: ush 
    password: Ushu 
    host: ws1a20\SQLEXPRESS 

表在db BOdb存在是使用命令

rails generate model `TRDeviceDetail` 
rails generate controller `TRDeviceDetails` 

而且在控制,我把下列

class TrDeviceDetailsController < ApplicationController 
    def show 
     @devices = TRDeviceDetail.find(:all) 
    end 
end 

模型文件TRDeviceDetails。我創建的模型和控制器

class TrDeviceDetail < ActiveRecord::Base 
     # attr_accessible :title, :body 
     attr_accessible :UniqueDeviceID 
    end 

其中UniqueDeviceID是表TrDeviceDetails 現有列,創建一個show.html.erb文件顯示UniqueDeviceID

<h1>TrDeviceDetails#show</h1> 
<p>Find me in app/views/tr_device_details/show.html.erb</p> 
<%@device.inspect%> 

我需要的是,從遠程獲取現有的表machine.How它是可能的,爲什麼這個錯誤正在發生?

回答

2

你應該使用

@devices = TrDeviceDetail.find(:all) # small 'r' 

所生成的類是

class TrDeviceDetail < ActiveRecord::Base 

UPDATE:

如果表名是不是遵循慣例,你應該設置TABLE_NAME明確

class TrDeviceDetail < ActiveRecord::Base 
    set_table_name 'TRDeviceDetails' 
end 
+0

嘗試獲取此錯誤................ ODBC ::錯誤:S0002(208)[Microsoft] [ODBC SQL Server驅動程序] [SQL Server]無效的對象名稱't​​r_device_details' 。:EXEC sp_executesql N'SELECT [tr_device_details]。* FROM [tr_device_details]' – chinchu 2013-03-07 10:10:57

+1

您有一個不尋常的型號名稱,因此可能會有連接到數據庫的問題。你能檢查這個模型的數據庫表中的表名嗎? – jvnill 2013-03-07 10:26:13

+0

TRDeviceDetails是在卸妝sql服務器 – chinchu 2013-03-07 10:50:59

相關問題