Сеансы совместной работы направляющих с activerecord

Вы можете построить поиск динамически:

status = form.cleaned_data['status']
start_date = form.cleaned_data['start_date']
end_date = form.cleaned_data['end_date']
company = self.request.user.userprofile.user_company

lookups = (Q(job_company=company) |  Q(job_status=status) 

if start_date:
    lookups = lookups | Q(job_created_on__gt=start_date)
if end_date:
    lookups = lookups | Q(job_created_on__lt=end_date)

Jobs.objects.filter(lookups)

Поиск job_created_on__range не нужен.

Кроме того, проверьте, действительно ли вы хотите job_created_on__gt/__lt или job_created_on__gte/__lte.

6
задан RobH 18 December 2008 в 16:19
поделиться

3 ответа

Направляющие несомненно поддерживают устройство хранения данных сессии базы данных.

В config/environment.rb, некомментарии

# config.action_controller.session_store = :active_record_store

Исследование \actionpack-2.2.2\lib\action_controller\session\active_record_store.rb показывает что CGI:: Сессия:: ActiveRecordStore:: Сессия наследовалась ActiveRecord:: Основа.

Таким образом в конце config/environment.rb, необходимо смочь сказать

CGI::Session::ActiveRecordStore::Session.establish_connection(
                              :adapter => "mysql",
                              :host => "otherserver",
                              :username => "session_user",
                              :password => "123ABC",
                              :database => "sessions")

или

CGI::Session::ActiveRecordStore::Session.establish_connection(:sessions)

использовать подключение, определенное в config/database.yml


Например, добавьте к config/database.yml:

 sessions_development:
   adapter: mysql
   host: otherserver
   username: sessions_user
   password: 123ABC
   database: sessions

Добавьте в конец config/environment.rb

 CGI::Session::ActiveRecordStore::Session.establish_connection("sessions_#{RAILS_ENV}")
9
ответ дан 10 December 2019 в 00:45
поделиться

В документах направляющих для конфигурации сессии (http://api.rubyonrails.org/classes/ActionController/SessionManagement/ClassMethods.html#M000312) говорится, что это единственные опции: http://api.rubyonrails.org/classes/ActionController/Base.html#M000523. Так как опция, для которой база данных использовать не перечислена, это, вероятно, не существует.

0
ответ дан 10 December 2019 в 00:45
поделиться

Мы можем получить некоторое разъяснение по поводу Вашего вопроса? У Вас есть несколько, отличающиеся, приложения для направляющих, что Вы хотите использовать то же хранилище сессии? Я спрашиваю, потому что Вы упоминаете SSO и несколько серверов приложений.

0
ответ дан 10 December 2019 в 00:45
поделиться
Другие вопросы по тегам:

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