ruby-on-rails 在Rails中,link_to在URL中使用句点而不是/?

yftpprvb  于 7个月前  发布在  Ruby
关注(0)|答案(3)|浏览(82)
<%= link_to 'View the item', items_url(@item, :only_path => false) %>

字符串
它产生了:

http://0.0.0.0:3000/items.124/


这是不好的,因为它有一个时期,它应该有一个正斜杠,如:

http://0.0.0.0:3000/items/124/


有人知道吗?谢谢。

ocebsuys

ocebsuys1#

拍摄,应该是item_url而不是items_url

nuypyhwy

nuypyhwy2#

我的form_for生成的URL也有类似的问题。我不小心把resource my_resource放进去了,而不是resources my_resources

bq9c1y66

bq9c1y663#

在响应时使用Rails 7.0.5. @Damith是正确的,路径助手需要是单数而不是复数。
这个响应是为了说明一个问题。Rails帮助器路径中的复数指向页面索引或对象集合,而路径帮助器中的单个对象引用将其标识为单个对象的引用,通常与控制器中的#show操作结合使用。当您使用复数版本items_url时,对象比预期的多,Rails将附加参数视为格式说明符,因为路由定义不需要嵌套资源的ID。
使用单数版本item_url正确地向Rails表明您正在寻找一个包含模型上的ID属性的嵌套路由,因此修复了格式错误的URI。这是Rails路径帮助程序中一个微妙但重要的区别。

相关问题