Class: ModelInfo::AssociationsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ApplicationController
- ModelInfo::AssociationsController
- Defined in:
- app/controllers/model_info/associations_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Instance Method Details
#create ⇒ Object
20 21 22 23 |
# File 'app/controllers/model_info/associations_controller.rb', line 20 def create @associated_data=params[:model_class].constantize.find(params[:model_object_id]).send(params[:associated_model]).create(permit_params) redirect_to association_show_path(associated_model_class: params[:associated_model_class].constantize, data: @associated_data.id) end |
#destroy ⇒ Object
39 40 41 42 |
# File 'app/controllers/model_info/associations_controller.rb', line 39 def destroy params[:associated_model_class].constantize.find(params[:data]).destroy redirect_to :back end |
#edit ⇒ Object
30 31 32 |
# File 'app/controllers/model_info/associations_controller.rb', line 30 def edit @single_associated_data=params[:associated_model_class].constantize.find(params[:data]) end |
#index ⇒ Object
13 14 15 16 17 18 |
# File 'app/controllers/model_info/associations_controller.rb', line 13 def index @model_class, @model_object_id, @associated_model,@associated_model_class,@macro, @page = params[:model_class].constantize, params[:model_object_id], params[:associated_model], params[:associated_model_class].constantize, params[:macro], params[:page] @models_data=@model_class.find(params[:model_object_id]) @associated_data=@models_data.send(@associated_model) @macro == "has_one" || @macro == "belongs_to" ? @associated_model_pagination = 1 : @associated_model_pagination = @associated_data.page(params[:page]).per(10) end |
#new ⇒ Object
8 9 10 11 |
# File 'app/controllers/model_info/associations_controller.rb', line 8 def new @model_data=params[:model_class].constantize.find(params[:model_object_id]) @associated_data=@model_data.send(params[:associated_model]).build end |
#show ⇒ Object
25 26 27 28 |
# File 'app/controllers/model_info/associations_controller.rb', line 25 def show @associated_model_class=params[:associated_model_class].constantize @single_associated_data=@associated_model_class.find(params[:data]) end |
#update ⇒ Object
34 35 36 37 |
# File 'app/controllers/model_info/associations_controller.rb', line 34 def update params[:associated_model_class].constantize.find(params[:data]).update(permit_params) redirect_to association_show_path(associated_model_class: params[:associated_model_class].constantize, data: params[:data]) end |