Aug*_*ger 4 ruby-on-rails link-to
我有两个型号,说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)
Run Code Online (Sandbox Code Playgroud)
但是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
Run Code Online (Sandbox Code Playgroud)
有没有办法插入来获取网址?
我可以这样写:
link_to user.name, send("#{user.class.name.downcase}_url", user)
Run Code Online (Sandbox Code Playgroud)
但是有更干净的方式吗?
url_for使用您传入ActiveRecord时传递的对象(以及其他一些情况)调用polymorphic_path().你可以使用polymorphic_url来获得你想要的东西.
link_to object.name, polymorphic_url(object)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1437 次 |
| 最近记录: |