Как получить доступ к URL в Rails Show action в контроллере - PullRequest
0 голосов
/ 10 октября 2019

Это URL, к которому я хочу получить доступ в моем методе show

http://localhost:3000/students.1

, но появляется ошибка

ActiveRecord :: RecordNotFound в StudentsController # show CouldnСтудент с 'id' =

def show

@student = Student.find(params[:id])

end

мои маршруты

new_students GET / student / new (. : format) студенты # new

edit_students GET /students/edit(.:format) студенты # edit

 students GET    /students(.:format)      students#show

          PATCH  /students(.:format)      students#update

          PUT    /students(.:format)      students#update

          DELETE /students(.:format)      students#destroy

          POST   /students(.:format)      students#create

     root GET    /                        students#index

Может кто-нибудь сказать мне, как я могу получить доступ к этим студентам.1в моем URL, чтобы я мог отобразить этого конкретного ученика на странице шоу?

Ответы [ 3 ]

1 голос
/ 10 октября 2019

Это неправильный путь. Это должно быть /students/1.

И ваши маршруты неверны. Вы можете сказать, что маршруты отключены из-за отсутствия сегмента id и того факта, что он отображает GET /students на действие show вместо индекса.

# Wrong
resource :students

# Right
resources :students

Плюрализация чрезвычайно важна в Rails иСтоит обратить пристальное внимание на. Хотя это всего лишь одна крошечная буква, эти методы создают совершенно разные маршруты.

resource предназначен для единичных ресурсов . Это не тот случай, здесь.

0 голосов
/ 10 октября 2019

Это должно быть http://localhost:3000/students/1

Проверить это документы

0 голосов
/ 10 октября 2019

есть проблема с формированием маршрута

Ваш URL не формируется правильно, попробуйте ниже

students_path(id: student.id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...