Мне нужно вызвать пользовательский метод в моем контроллере из моего приложения для Android. У меня есть табличное имя «списки», в котором есть несколько столбцов, один из которых является «tableno». Мне нужно вызвать метод контроллера, который будет извлекать все строки из таблицы списков в БД для переданного номера таблицы и возвращать его как JSON. В моем приложении я буду читать JSON. Я определил метод в моем контроллере списков, как показано ниже:Пользовательский метод в контроллере Rails
def tableOrder
@list = List.where(:tableno => params[:tableno])
respond_to do |format|
format.json { render json: @list }
end
end
В моих маршрутах файл я дал
resources :lists do
member do
get 'tableOrder'
end
end
и URL я использую, чтобы выполнить из моего Android App является lists/tableOrder
с get
методом. Параметры, которые я отправляю из своего приложения для Android, - это JSONObject: jsonObject.put("tableno", tableNo);
. tableno - это фактическое имя столбца в моей таблице списков.
Проблема заключается в том, что он не выполняет запрос и не пропускает ошибку шаблона. Я проверил сервер и даже не прочитал параметры, которые я отправил. Я новичок в рельсах и впервые пишу такую вещь, поэтому не уверен, что я что-то упустил. Пожалуйста, порекомендуйте. Благодарю.
Вы уверены, что хотите маршрут участника? Это определяет маршрут для 'lists /: id/tableOrder', но вы говорите, что хотите' lists/tableOrder'. Что делает это действие? В вашем действии вам, похоже, нужен один список. Я запутался. Пожалуйста, объясни. –
Можете ли вы рассказать мне, что он показывает отсутствующий шаблон, пока вы нажимаете URL-адрес http: // localhost: 3000/lists/tableOrder? –
@RyanBigg да, это также неверный путь определения маршрута, который должен быть 'collection' вместо' member' –