У меня есть пользовательское действие в контроллере шагов, который обновляет выбор HTML на основе выбора (некоторые js в фоновом режиме), вот действие ...
class CarStepsController < ApplicationController
include Wicked::Wizard
skip_before_action :setup_wizard, only: [:update_make]
before_action :logged_in_user
steps :parts, :accessories
def show
@car = Car.find(params[:car_id])
case step
when :parts
@vehicles = @car.vehicles.build
@years = Vicc.select("distinct model_year").order("model_year DESC")
@makes = Vicc.where("model_year = ?", '1980')
when :accessories
@accessories = @car.accessories.build
end
render_wizard
end
def update
@car = Car.find(params[:car_id])
@car.update_attributes(permitted_params)
render_wizard @car
end
def update_make # THIS IS WHERE IT ERRORS.
byebug
@makes = ViccInformation.where("model_year = ?", params[:model_year])
respond_to do |format|
format.js
end
end
end
и в моих маршрутах у меня естьэто:
scope "cars/:id" do
resources :car_steps
get 'cars/update_make', as: 'update_make'
end
вот js, который делает вызов ajax:
$(document).change(function () {
console.log($("#years_select option:selected").val());
console.log($("#car_id").val());
$.ajax({
url: "update_make",
type: 'GET',
dataType: 'script',
data: {
model_year: $("#years_select option:selected").val()
},
success: function (data) {
console.log("success");
},
error: function (err) {
console.log("err", err);
},
});
});
Я получаю ошибку: Wicked::Wizard::InvalidStepError (The requested step did not match any steps defined for this controller.):
, когда я выбираю опцию.После поиска в Google я обнаружил, что вам нужно добавить skip_before_action :setup_wizard, only: [:update_make]
в контроллере, чтобы заставить злой камень игнорировать это действие в мастере, что я и сделал.
Однако я все еще получаю сообщение об ошибке: Wicked::Wizard::InvalidStepError (The requested step did not match any steps defined for this controller.):
Вот полный вывод консоли:
Started GET "/cars/6/car_steps/update_make?model_year=2011&_=1543867316050" for 127.0.0.1 at 2018-12-03 15:02:07 -0500
Processing by CarStepsController#show as JS
Parameters: {"model_year"=>"2011", "_"=>"1543867316050", "car_id"=>"6", "id"=>"update_make"}
Completed 500 Internal Server Error in 0ms (ActiveRecord: 0.0ms)
Есть предложения относительно того, как решить эту проблему?