- В папке
app/assets/images/pictures
должны лежать картинки. - В базе в таблицах
images
иthemes
должны быть данные. В полеfile
таблицыimages
должны быть названия файлов картинок. - В файле
config/initializers/assets.rb
должна быть строчка:Rails.application.config.assets.paths << Rails.root.join('assets', 'images', 'pictures')
В в методе index
выгружаем все темы, в методе select_images
— по полученному id
темы (который берётся из выпадающего списка тем во view) выгружаем в json'е все названия файлов картинок.
Создаём выпадающий список, содержащий темы. @themes
берётся как раз из метода index
контроллера.
В div-е #images
будут отбражаться наши картинки по данной теме.
Посылаем AJAX-запрос к контроллеру по id — и при успешном завершении возвращаем список файлов картинок (с прописанным путём к ним).
URL works/#{$('select').val()}
сначала будет обработан routes.rb
.
Добавил строчку get '/works/(:id)' => 'works#select_images'
, чтобы я мог делать GET-запрос к контроллеру, а он, в свою очередь, перенаправлял его на action select_images
. Но можно этого и не делать :)