(AASM) State machine w projekcie

Hej,

W moim projekcie mam pole state w modelu hardware które może przyjmować kilka wartości: registered, moved, forwarded.

Dodaję do projektu gem act_as_state_machin.

W routes mam:

...
resources :hardwares do
  member do
    get 'move'
    get 'forward' 
  end
end
...

w modelu natomiast dodałem:

...
include AASM
aasm column: :status do
  state :registered, initial: true
  state :moved
  state :forwarded

  event :move do
    transitions from: :registered, to: moved 
  end

  event :forward do
    transitions from: :moved, to: :forwarded
  end
end
...

i w kontrolerze mam:

...
def move
  @hardware.move!
end
...

Po wejściu na adres hardwares/1/move
status już jest ustawiony bez kliknięcia w update ( a ma się oczywiście ustawiac po kliknięciu w update)
a po kliknięciu w update wyświetla się błąd:
param is missing or the value is empty: hardware

# Never trust parameters from the scary internet, only allow the white list through.
def hardware_params
  params.require(:hardware).permit(:name, :status)
end

end

Jeśli dam @hardware.move bez wykrzyknika to status się nie zmienia a błąd powyższy się wyświetla.

w before_action dodałem też :move do before_action.

Efekt ma być taki, że po wejściu na adres hardwares/1/move dodkonuje edycji pewnych pól i po save status tego urządzenia zmienia się na moved.

Cieżko też znaleśc jakiś przykład. Na railscasts jest ale tam tylko ogólny przeglą state machine gems bez połączenia zkontrolerem widokiem i modelem.

Jak poradzić sobie z tym błędem który się wyświetla?
Gdzie powinno być umieszczone @hardware.move w kontrolerze? A mozę w modelu?
Proszę o pomoć bo to moja pierwsza przygoda ze AASM.

Pozdrawiam

tutaj AASM nie ma nic do rzeczy mieszasz kompletne podstwy.

W akcji get wywolujesz update na instancji poprzez wywolanie metody ktora odpala tranzakcje (ten move!)

to co masz w akcji move powinno byc (po zmianach oczywiscie) w jakiejs akcji PUT, a pod adresem get jakies forumlarz, guzik, nie wiem co chcesz tam miejsc.

Poczytaj jakies tutoriale z podstawami z CRUD, bo mocno mieszasz podstawy zanim sie wezmiesz za state_machine