-1

I want to change status on the view. model

aasm :column => 'state' do
    state :activated, :initial => true
    state :desactivated

    event :to_desactivated do
       transitions :to => :desactivated,  :from => :activated 
    end
    event :to_activated do
       transitions :to => :activated,  :from => :desactivated 
    end

controller

def to_desactivated
@mcampaign_facturation=McampaignFacturation.find_by_id(params[:id])
      @mcampaign_facturation.to_desactivated!

  end

  def to_activated
@mcampaign_facturation=McampaignFacturation.find_by_id(params[:id])
      @mcampaign_facturation.to_activated!

     end

View

- @mcampaign_facturations.each do |key, v|
  %tr.df{:class=>cycle('odd','even')}
    %td.title{:align => "center"}= v[:name]
    %td.title{:align => "center"}= v[:name_comp]
    %td.title{:align => "center"}= v[:title]
    %td.title{:align => "center"}= v[:status]
    %td{:align => "rigth"}
      = link_to image_tag("editer.png", :border =>0, :title => t("Edit")), edit_mcampaign_facturation_path(key)
      = link_to image_tag("des.png", :border =>0, :size => "16x16", :title => t("Delete")),   mcampaign_facturation_to_desactivated_path(key), method: :put
      = link_to image_tag("at.png", :border =>0, :size => "16x16", :title => "Activate"),    mcampaign_facturation_to_activated_path(key), method: :put

Routes

resources :mcampaign_facturations  do
      put :to_activated
      put  :to_desactivated
  end

When i click a link, i have error like this:

NoMethodError (undefined method `to_desactivated!' for nil:NilClass):
  app/controllers/mcampaign_facturations_controller.rb:90:in `to_desactivated'

I have the same error with metho to_activated

Please help

1 Answers1

0

If key is your entity id (ActiveRecord id), then you should use

mcampaign_facturation_to_desactivated_path(:id => key)

instead.

alto
  • 579
  • 3
  • 8