2015-02-17 1 views
-1

Я хочу изменить статус на вид. модельРубины на рельсах AASM Изменение перехода с помощью кнопки

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 

контроллер

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 

Посмотреть

- @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 

Маршруты

resources :mcampaign_facturations do 
     put :to_activated 
     put :to_desactivated 
    end 

Когда я нажимаю ссылку, у меня есть ошибки, как это:

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

У меня такая же ошибка с мето to_activated

Пожалуйста, помогите

+0

Пожалуйста, не помогите мне? Спасибо –

+0

Что такое 'key' на ваш взгляд? – alto

+0

Я отредактировал вид. Ключ какой-то «id» –

ответ

0

Если key Ваш объект идентификатор (ActiveRecord идентификатор), то вы должны использовать

mcampaign_facturation_to_desactivated_path(:id => key)

вместо этого.

+0

Помог ли мой ответ? – alto

 Смежные вопросы

  • Нет связанных вопросов^_^