Что лучший способ состоит в том, чтобы сделать соединения с базой данных в расчете на пользователя в направляющих

Это означает, нотации.

Когда я попробовал ответ, предоставленный @metasequoia, возвращаемый вектор имел начальные пробелы, а не 0 s. Это была та же проблема, о которой упоминал @ user1816679 - и удаление цитат вокруг 0 или изменение с %d на %s тоже не имело значения. FYI, я использую RStudio Server, работающий на сервере Ubuntu. Это небольшое двухшаговое решение работало для меня:

gsub(pattern = " ", replacement = "0", x = sprintf(fmt = "%09s", ids[,CUSIP]))

, используя функцию %>% pipe из пакета magrittr, это могло бы выглядеть так:

sprintf(fmt = "%09s", ids[,CUSIP]) %>% gsub(pattern = " ", replacement = "0", x = .)

Я бы предпочел однофункциональное решение, но оно работает.

6
задан gprathour 9 June 2017 в 10:31
поделиться

2 ответа

Поместите что-то вроде этого в свой контроллер приложения. Я использую субдомен плюс "_clientdb" для выбора названия базы данных. У меня есть все базы данных с помощью того же имени пользователя и пароля, таким образом, я могу захватить это из файла конфигурации дб.

Надеюсь, это поможет!

class ApplicationController < ActionController::Base

  before_filter :hijack_db

  def hijack_db
    db_name = request.subdomains.first + "_clientdb"

    # lets manually connect to the proper db
    ActiveRecord::Base.establish_connection(
      :adapter  => ActiveRecord::Base.configurations[ENV["RAILS_ENV"]]['adapter'],
      :host     => ActiveRecord::Base.configurations[ENV["RAILS_ENV"]]['host'],
      :username => ActiveRecord::Base.configurations[ENV["RAILS_ENV"]]['username'],
      :password => ActiveRecord::Base.configurations[ENV["RAILS_ENV"]]['password'],
      :database => db_name
    )
  end
end
10
ответ дан 9 December 2019 в 22:42
поделиться

Смотрите на ActiveRecord:: основа establish_connection. Это - то, как Вы соединяетесь с другим сервером базы данных. Я не могу иметь намного большего количества справки, так как я не знаю, как Вы распознаете пользователя или отображаете ее на, он - база данных, но я предполагаю, что основная база данных будет иметь ту информацию (и информация о соединении должна быть на database.yml файле).

Всего наилучшего.

1
ответ дан 9 December 2019 в 22:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: