Метод set_instrument работает для методов, показывая, редактирует, обновляет и уничтожает, но не работает для диаграммы методов. Не знаю, как это исправить. Вот мой контроллер:Невозможно получить параметр [: id] в методе управления
class InstrumentsController < ApplicationController
before_action :set_instrument, only: [:show, :edit, :update, :destroy, :chart]
def chart
@measurements = @instrument.measurements.order("scheduled_on asc")
end
def show
@measurements = @instrument.measurements.order("scheduled_on asc")
end
def edit
end
private
def set_instrument
@instrument = Instrument.find(params[:id])
end
def instrument_params
params.require(:instrument).permit(:inst_id, :chainage, :northing, :easting,
:latitude, :longitude, :above_tbm, :group_id, :section, :number_of_sensors,
:review_level, :alert_level)
end
end
Я получаю сообщение об ошибке: Не удалось найти инструмент без ID в операторе @instrument = Instrument.find(params[:id])
в методе set_instrument
.
Покажите свой 'routes.rb' файл. 'chart' должен быть участником маршрута ресурсов' instrument', может быть, вы ошибочно сделали его маршрутом сбора? –
Вы не отправляете никаких аргументов в метод. Как вы называете свой метод «chart»? – hattenn
@hattenn ты шутишь, не так ли? Это действие контроллера, оно не может принимать никаких аргументов. –