我試圖在我的rails應用程序中訪問另一個數據庫,以及使用SQL語句查詢數據庫並返回JSON。使用SQL查詢訪問另一個數據庫
主數據庫和輔助數據庫位於運行在MySQL中的同一臺服務器上。當測試,看看這是否會簡單地作爲工作:
的datagbase.yml文件:
development:
adapter: mysql2
encoding: utf8
database: onlineportal
username: root
password:
host: 127.0.0.1
port: 3306
socket:
android_mobile_developement:
adapter: mysql2
encoding: utf8
database: androidchatterdatabase
username: root
password:
host: 127.0.0.1
port: 3306
socket:
但隨後在控制器中建立了方法:
class RequestsController < ApplicationController
def getActivatedFriends
@results = User.find_by_sql("SELECT
a.id
, a.username
, a.phoneNumber
FROM androidchatterdatabase.users a
WHERE phoneNumber in (8754444444) and
removed = 0 and
is_user = 1;")
respond_to do |format|
format.html
format.json { render json: { friends_match: @results }}
end
end
並呼叫路線:
localhost:3000/getActivatedFriends/
從路線:
match '/getActivatedFriends/', to: 'requests#getActivatedFriends', via: 'get'
產生了錯誤:
Missing template requests/getActivatedFriends, application/getActivatedFriends with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}.