Когда рельсы генерируют URL-адреса с идентификатором объекта? - PullRequest
0 голосов
/ 07 июня 2018

На основании этой документации создается впечатление, что генераторы URL-адресов rails принимают полный объект для генерации URL.

@comment = Comment.find(1)
comment_url(@comment, { host: 'google.com' } ) => google.com/comments/1

Это верно в моей производственной среде.Однако в моей среде разработчиков, когда я пытаюсь сгенерировать URL таким образом, я получаю

ActionController :: UrlGenerationError: Нет совпадений маршрута / отсутствуют обязательные ключи: [: id]

ошибка.

В моей среде разработки я могу успешно сгенерировать URL, используя вместо этого идентификатор объекта.

comment_url(@comment.id, { host: 'google.com' } ) => google.com/comments/1

Мне кажется, что основан нагде-нибудь в конфигурации, вы должны иметь возможность передавать либо объекты, либо идентификаторы в генераторы URL в rails .Мой гугл фу не помог мне понять, что это за конфигурация.Кто-нибудь знает, почему я могу видеть это различное поведение в производственной среде по сравнению с разработчиком одного и того же приложения?

1 Ответ

0 голосов
/ 07 июня 2018

Разница в том, что речь идет об средах, не имеет значения, если вы делаете это при производстве или разработке.

единственное, что отличается, - это данные, может быть @comment по разработкене заполнен объектом с идентификатором, поэтому он не работает в этом примере.

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