Возникли проблемы при добавлении динамического сегмента в генератор URL - PullRequest
0 голосов
/ 03 октября 2018

Я использую гем ActiveRecord-reputation-system, чтобы добавить ссылку на повышение и понижение в мое приложение chat_room, и у меня возникли проблемы с отображением реальной ссылки в моем представлении.

В моем Room.show я положил:

<%= link_to "up", vote_room_message_path(message, type: "up"), method: "post" %>

и получаю сообщение об ошибке:

No route matches {:action=>"vote", :controller=>"messages", :id=>"1", :room_id=>#<Message id: nil, created_at: nil, updated_at: nil, user_id: nil, room_id: 1, body: nil>, :type=>"up"}, possible unmatched constraints: [:room_id]

То, что мне выпадает, это "возможные несопоставимые контрасты: [: room_id]. Я интенсивно искал в Интернете, и единственное, что я могу найти, - это то, что для каждого имеющегося у вас динамического сегмента вам нужно будет передать аргумент. Поэтому я поднял свои маршруты, используя маршруты рельсов, и это маршрут, которыйпоказывает для voice_room_message:

vote_room_message POST   /rooms/:room_id/messages/:id/vote(.:format)                                              messages#vote

Я вижу два динамических сегмента здесь (: room_id и: id), однако я не знаю, как требовать их в своем URL. Я пытался использовать

<%= link_to "up", vote_room_message_path(message, type: "up", [:room_id, :message), method: "post" %>

однако это приводит к синтаксической ошибке. Любой совет, как заставить это работать?

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