Ruby on Rails: 'показать' маршрут аккаунта - PullRequest
1 голос
/ 30 мая 2020

В настоящее время у меня две модели: Account и User. У учетной записи много пользователей, и пользователи принадлежат учетной записи. Я хочу показать страницу учетной записи, но продолжаю получать ошибку No route matches {:action=>"show", :controller=>"accounts"}, missing required keys: [:id].

Accounts контроллер

def show
   @account = Account.find_by(params[:id])
end

Ссылки на страницу учетной записи

<%= link_to "Account Settings", account_path %>

Маршруты

resources :accounts, only: [:new, :create, :show, :edit, :update]

Ответы [ 2 ]

2 голосов
/ 30 мая 2020

Проблема здесь:

<%= link_to "Account Settings", account_path %>

Rails сказал «отсутствуют необходимые ключи: [: id]», что означает, что вы должны отправить идентификатор, чтобы показать метод

<%= link_to "Account Settings", account_path(123) %>

после того, как кто-то нажмете на вашу ссылку, контроллер примет здесь этот идентификатор:

@account = Account.find_by(params[:id])

найдет вашу запись в БД и перенаправит вас на: показать страницу

0 голосов
/ 30 мая 2020
<%= link_to "Account Settings", account_path(@current_user.account_id) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...