我有一种情况,我需要为一组模型生成链接而不加载有问题的模型。由于我在模型中重写了to_param
以生成一个slug作为由多个字段的串联构造的标识符,因此这很复杂。
对于正常操作,这对于加载对象来说并不是什么大问题。但是在这个特定场景中 - 从搜索结果中呈现链接 - 我有必要的字段值(它们都被索引),但我没有模型对象。我想避免只是为了渲染URL而检索每个模型。
这是一个伪模型:
class MyModel
include Mongoid::Document
field :name
field :location
.
<[extraneous bits removed]>
.
def to_param
[ name, location ].map(&:parameterize).join('-')
end
end
有没有办法“伪造”模型创建,以便我可以将其传递给正常的<model>_path
url生成方法?
这种情况有哪些替代方案?