ruby-on-rails - 使用 url 而不是路径的 Rails link_to 对象插值

标签 ruby-on-rails link-to

我有两个模型,比如说 UserGroup
我知道我可以使用不同的解决方案访问每个对象的 show 操作:

# PATH
link_to user.name, user_path(user)
link_to group.name, group_path(group)

# URL
link_to user.name, user_url(user)
link_to group.name, group_url(group)

但是 Rails 的魔力发生在
# PATH
link_to user.name, user_path(user)
link_to group.name, group_path(group)
# is equivalent to
# PATH
link_to user.name, user
link_to group.name, group

有没有办法可以插入以获取网址?

我可以这样写:
link_to user.name, send("#{user.class.name.downcase}_url", user)

但是有更干净的方法吗?

最佳答案

url_for 使用传入 ActiveRecord 时传递的对象调用 polymorphic_path()(以及其他一些情况)。你可以改用 polymorphic_url 来获得你想要的。

link_to object.name, polymorphic_url(object)

关于ruby-on-rails - 使用 url 而不是路径的 Rails link_to 对象插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21633163/

相关文章:

ruby-on-rails - 如何忽略一些 rails_best_practices gem 警告?

ruby-on-rails - Rails Time 类有一个 TimeZone Bug。这可以证实吗?

ruby-on-rails - 如何在rails 3.2的link_to中调用存储在字符串变量中的路径而不使用eval?

ruby-on-rails - rails - 如何使用链接更改数据库值

css - 使用悬停 (rails) 在 link_to 上显示内容

ruby-on-rails-3 - Rails link_to 和 audio_tag

ruby-on-rails - 更新多对多关联中的映射表属性

ruby-on-rails - 在 postgresql 中查找和总结具有重叠记录的日期范围

ruby-on-rails - 以法拉第为参数发布图像

ruby-on-rails - Ruby on Rails link_to with put 方法