app/controllers/carnival/base_admin_controller.rb in carnival-0.0.56 vs app/controllers/carnival/base_admin_controller.rb in carnival-0.0.57

- old
+ new

@@ -99,9 +99,21 @@ model = presenter.relation_model(params[:field].gsub("_id", "").to_sym) @options = model.list_for_select(add_empty_option: true, query: ["#{params[:dependency_field]} = ?", params[:dependency_value]]) render layout: nil end + def load_select_options + model_name = params[:model_name] + search_field = params[:search_field] + presenter = params[:presenter_name].constantize.send(:new, :controller => self) + model = presenter.relation_model(model_name.to_sym) + list = [] + model.where("#{search_field} like '%#{params[:q]}%'").each do |elem| + list << {id: elem.id, text: elem.send(search_field.to_sym)} + end + + render :json => list + end private def instantiate_model(presenter) presenter.full_model_name.classify.constantize end