2

所以我有不同的控制器共享很多功能,我想知道是否有办法在它们之间共享类似的功能。

例如这个:

= link_to 'Edit', dvd_path(dvd), :class => 'btn'

控制器之间唯一改变的是对象,而不是 dvd,它将是书籍或游戏。所以我认为必须有一种方法来创建一个使用该控制器正确路径的部分,而不必重写每个部分。并且无需发送对象。

想法受到赞赏。

编辑

@defaye:我想做的是重用上面的代码并将其应用于 7 个左右不同的控制器。上面的代码只是一堆始终相同的链接和路径的示例,唯一改变的是 dvd_path(dvd) 变为 book_path(book) 等。

我想要最简单,更直接的方法。

事实上,我现在想知道是否有可能拥有处理多个控制器的相同视图,因为它们非常相似。这太棒了!

谢谢。

4

1 回答 1

0

如果您的代码只是几个方法,则根本不需要部分方法。助手可以帮助你。

这是一个例子。您可以在 ApplicationHelper 中定义它。

# application_helper.rb
def link_to_edit(object)
  link_to('Edit', polymorphic_path(object, :action => 'edit'), :class => 'btn')
end

在你看来

= link_to_edit(object)
于 2012-04-26T10:00:05.487 回答