我正在制作一个 Rails 应用程序,我希望能够使用传递给视图的模型对象来获取对该对象的某些操作的 URL,例如:
link_to object.public_send(attribute),
{ :controller => object.controller_path,
:action => :show,
:id => object.id }
什么是这样做的好方法?可以用像Draper这样的装饰器来完成吗?网上有例子吗?
更新。 我考虑过这一点并决定装饰器不是保存控制器信息的好地方。这不是装饰者的责任。装饰器应该只知道使用标记呈现格式化数据。现在我创建了一个模块Accessor
,我尝试将模型与控制器和路由感知混合在一起。我仍然想知道是否有更好的方法。