Class: ConstructorPages::FieldsController
- Inherits:
-
ConstructorCore::AdminController
- Object
- ConstructorCore::AdminController
- ConstructorPages::FieldsController
- Includes:
- ConstructorCore::DeviseHelper
- Defined in:
- app/controllers/constructor_pages/fields_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #move_down ⇒ Object
- #move_up ⇒ Object
- #new ⇒ Object
- #update ⇒ Object
Instance Method Details
#create ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'app/controllers/constructor_pages/fields_controller.rb', line 21 def create @field = Field.new params[:field] if @field.save redirect_to edit_template_path(@field.template_id), :notice => "Поле «#{@field.name}» успешно добавлено." else render :action => 'new', :template_id => @field.template_id end end |
#destroy ⇒ Object
58 59 60 61 62 63 64 |
# File 'app/controllers/constructor_pages/fields_controller.rb', line 58 def destroy @field = Field.find(params[:id]) name = @field.name template = @field.template.id @field.destroy redirect_to edit_template_url(template), :notice => "Поле «#{name}» успешно удалено." end |
#edit ⇒ Object
16 17 18 19 |
# File 'app/controllers/constructor_pages/fields_controller.rb', line 16 def edit @field = Field.find(params[:id]) @field.template = Template.find(params[:template_id]) end |
#move_down ⇒ Object
72 73 74 75 76 |
# File 'app/controllers/constructor_pages/fields_controller.rb', line 72 def move_down @field = Field.find(params[:id]) @field.move_lower redirect_to :back, :notice => 'Поле успешно перемещено.' end |
#move_up ⇒ Object
66 67 68 69 70 |
# File 'app/controllers/constructor_pages/fields_controller.rb', line 66 def move_up @field = Field.find(params[:id]) @field.move_higher redirect_to :back, :notice => 'Поле успешно перемещено.' end |
#new ⇒ Object
11 12 13 14 |
# File 'app/controllers/constructor_pages/fields_controller.rb', line 11 def new @field = Field.new @field.template = Template.find(params[:template_id]) end |
#update ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'app/controllers/constructor_pages/fields_controller.rb', line 31 def update @field = Field.find params[:id] if @field.type_value != params[:field][:type_value] "constructor_pages/types/#{@field.type_value}_type".classify.constantize.where(:field_id => @field.id).each do |field| new_field = "constructor_pages/types/#{params[:field][:type_value]}_type".classify.constantize.new( :field_id => @field.id, :page_id => field.page_id) if @field.type_value != 'image' \ and params[:field][:type_value] != 'image' \ and not (@field.type_value == 'string' and field.value.strip == '') new_field.value = field.value end new_field.save field.destroy end end if @field.update_attributes params[:field] redirect_to edit_template_url(@field.template.id), :notice => "Поле «#{@field.name}» успешно обновлено." else render :action => "edit" end end |