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