Sea*_*ean 5 ruby-on-rails associations active-relation
如果我有一个关联名称作为字符串,有没有办法可以获得关联对象的句柄?
例如:
o = Order.first
Run Code Online (Sandbox Code Playgroud)
o.customer会给我这个订单所属的客户对象.
如果我有:
o = Order.first
relationship = 'customer'
Run Code Online (Sandbox Code Playgroud)
我想做的事情如下:
customer = eval("o.#{relationship}")
Run Code Online (Sandbox Code Playgroud)
我知道eval是一个可怕的选择,我应该避免它.执行此操作的最佳方法是什么(因为eval在此示例中不起作用).
我确实有这个工作:
customer = o.association(relationship)
Run Code Online (Sandbox Code Playgroud)
我后来发现该关联不是公共API的一部分,不应该使用.因为当我拿出一行代码时,我关闭了页面(引用了那个关系),它停止了工作.
任何想法都会很棒!
mar*_*rio 17
这样做怎么样?
customer = o.send(relationship)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2085 次 |
| 最近记录: |