【发布时间】:2013-12-31 21:23:44
【问题描述】:
我正在尝试在我的一个 Rails 视图中使用自定义视图模型,用我的视图模型有效地替换标准 ActiveRecord 模型,它充当 ActiveRecord 模型的包装器。
现在当视图调用以下内容时:
link_to(product)
这现在正在询问我的视图模型(而不是 ActiveRecord 模型)以确定要呈现的内容。我试图了解 link_to 助手在我的模型上调用了什么。我为此查看了Rails source,但它似乎没有回答我的问题。
到目前为止,我已经发现 Rails 会在我传入的变量的 class 上调用 model_name,但我想我正在方向错误。我想我可以在我的视图模型中实现类似 to_url 的东西,然后简单地将它传递给底层对象。
那么我如何让我的视图模型遵守 link_to 所期望的任何接口?
【问题讨论】:
-
也许这会有所帮助:
include ActiveModel::Conversion定义了to_model、to_key、to_param和to_partial_path。 blog.carbonfive.com/2014/01/07/…
标签: ruby-on-rails activerecord ruby-on-rails-3.2