Rails部分用于不同的控制器

时间:2012-04-25 22:18:26

标签: ruby-on-rails-3.1

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

例如:

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

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

赞赏我们的想法。

修改

@defaye:我正在尝试重复使用上面的代码并将其应用于7个左右的不同控制器。 上面的代码只是一堆链接和路径的示例,它们总是相同的,唯一改变的是dvd_path(dvd)变成book_path(book)等。

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

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

感谢。

1 个答案:

答案 0 :(得分: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)