将动态段添加到URL生成器时遇到问题

时间:2018-10-03 05:22:06

标签: ruby-on-rails ruby

我正在使用ActiveRecord-信誉系统gem向我的chat_room应用添加upvote和downvote链接,但在获取实际链接以显示在我的视图中时遇到了一些麻烦。

在我的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]。我在网上进行了广泛搜索,我唯一能找到的是,对于您拥有的每个动态细分,您都需要传递一个参数。所以我使用Rails路线拉出了我的路线,这是为vote_room_message显示的路线:

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

我在这里看到两个动态段(:room_id和:id),但是我不知道如何在我的网址中声明它们。我尝试使用

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

但是这会带来语法错误。有关如何进行这项工作的任何建议?

0 个答案:

没有答案