- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个应用程序布局,其中包含供登录用户编辑其个人资料的链接。最初是这样的:
<%= link_to "Settings", edit_user_path(current_user) %>
但是后来我需要不同类型的用户,我最终得到了这个:
<%= link_to "Settings", send("edit_#{current_user.type.downcase}_path", current_user) %>
Users 表上的“type”列用于 STI,在这里我可以神奇地拥有 User (Model) 类的子类,这对我的目的来说非常方便。
我也有 UsersController 的子类,因此我将为每种类型提供“edit_TYPE_path”路径。
是否有更好的方法来做到这一点,还是我做得很好?
最佳答案
polymorphic URL 助手可以在这里完成这项工作:
edit_polymorphic_path(current_user)
应该可以解决问题。如果您确实发现自己需要使用 send
,那么(如果可能)请尝试使用 public_send
。顾名思义,这只会调用公共(public)方法。
作为旁注,type.downcase
不太正确 - 如果类名是 FooBar,那么路由名称将是 edit_foo_bar_path
而不是 edit_foobar_path
。 underscore
变形更接近您的需要
关于ruby-on-rails - 在这种情况下求助于 send() 是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33061417/
在我生活的世界中,构建一个将所有飞镖都扔到墙上的解决方案,并希望其中一些能命中靶心是一种非常糟糕的解决方案方法。 那么,我的问题出现了,什么时候在约定可接受的生产系统中使用 INSERT IGNORE
在数据处理时,经常会因为index报错而发愁。不要紧,本次来和大家聊聊pandas中处理索引的几种常用方法。 1.读取时指定索引列 很多情况下,我们的数据源是 CSV 文件。假设
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我是一名优秀的程序员,十分优秀!