Undefined local variable or method z użyciem respond_with

Mam problem z matcherem respond_with. Mój error (500 Internal server error)
Mój kontroler:

respond_to :json, :html
       ...
  def create
    order = meal.create_order(order_params)
    respond_with orders
  end

Mój routing:

resources :orders, only: [:index, :create, :destroy], defaults: {format: :json} do
  member do
    put '/delivered' => 'orders#delivered'
  end
end

Co robię źle?

Trudno wróżyć z fusów (nie podałeś nawet komunikatu błędu, tylko jego część, ani w której linijce jest błąd), ale podejrzewam, że problem jest tutaj:

order = meal.create_order(order_params)

Obstawiam, że masz model i ustawiasz gdzieś (?) w kontrolerze zmienną @meal, więc to powinno wyglądać tak:

order = @meal.create_order(order_params)
respond_with orders

zamiast orders też pewnie powinno być order, tak jak linijka wyżej.

1 Like

Dziękuję za pomoc. Radwo masz racje!