尝试基于下拉菜单更改 Web 应用程序架构。我有一种感觉,我没有拉下拉选择。
模型:
class MyApp < ActiveRecord::Base
def initialize(dbase)
@dbase = fdbase
if @dbase == 'DB01'
ActiveRecord::Base.establish_connection"#{Rails.env}"
else
ActiveRecord::Base.establish_connection"#{Rails.env}_#{@fc}"
end
end
end
控制器:
class MyAppController < ApplicationController
before_filter :initialize_remote_user
def self.search(name)
@results = MyApp.search(params[:name])
@dbase = params[:dbase].inspect
c = MyApp.new(@dbase)
result = c.last
end
def result
c = MyApp.new(@dbase)
result = c.last
@results = MyApp.where("name = ?",params[:name]).order("item_scan_date ASC")
puts @results.inspect
end
def update
@results = MyApp.Where(name: name_params)
@dbase = params[:dbase].inspect
end
def change
@results = MyApp.Where(name: name_params)
@dbase = params[:dbase].inspect
end
def show
@dbase = params[:dbase].inspect
c = MyApp.new(@dbase)
result = c.last
end
def create
end
def new
end
def index
@dbase = params[:dbase].inspect
c = MyApp.new(@dbase)
result = c.last
end
private
def name_params
params.require(:name).permit(:name)
end
def dbase_params
params.require(:dbase).permit(:dbase, :id)
end
end
下拉菜单在我的导航栏上并在 _nav.html.erb 中拉入:下面是 _dbform.html.erb
<div id="float_right">
<%= form_for @dbase do |f| %>
<%= f.select( :dbase, options_for_select([['DB01','DB01'],['DB02','DB02'],['DB03','DB03'],['DB04','DB04']])) %>
<% end %>
</div>
生产和开发相同的database.yml。
# Uses RubyGem-activerecord-jdbcsqlite3-adapter
development:
adapter: mysql2
host: myhost
database: DB01
encoding: utf8
port: 3306
development_DB2:
adapter: mysql2
host: myhost
database: DB02
encoding: utf8
port: 3306
development_DB3:
adapter: mysql2
host: myhost
database: DB03
encoding: utf8
port: 3306
development_DB4:
adapter: mysql2
host: myhost
database: DB04
encoding: utf8
port: 3306
我不确定我做错了什么。