<%= 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/
型
有人知道吗?谢谢。
<%= 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/
型
有人知道吗?谢谢。
3条答案
按热度按时间ocebsuys1#
拍摄,应该是
item_url
而不是items_url
nuypyhwy2#
我的
form_for
生成的URL也有类似的问题。我不小心把resource my_resource
放进去了,而不是resources my_resources
。bq9c1y663#
在响应时使用
Rails 7.0.5
. @Damith是正确的,路径助手需要是单数而不是复数。这个响应是为了说明一个问题。Rails帮助器路径中的复数指向页面索引或对象集合,而路径帮助器中的单个对象引用将其标识为单个对象的引用,通常与控制器中的
#show
操作结合使用。当您使用复数版本items_url
时,对象比预期的多,Rails将附加参数视为格式说明符,因为路由定义不需要嵌套资源的ID。使用单数版本
item_url
正确地向Rails表明您正在寻找一个包含模型上的ID属性的嵌套路由,因此修复了格式错误的URI。这是Rails路径帮助程序中一个微妙但重要的区别。