加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 02:46:54 所属栏目:百科 来源:网络整理
导读:我有两个模型,比如User和Group 我知道我可以使用不同的解决方案访问每个对象的show动作: # PATHlink_to user.name,user_path(user)link_to group.name,group_path(group)# URLlink_to user.name,user_url(user)link_to group.name,group_url(group) 但是Rai
我有两个模型,比如User和Group

我知道我可以使用不同的解决方案访问每个对象的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,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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读