所以我有不同的控制器,它们共享很多功能,我想知道是否有办法在它们之间共享相似的功能。
例如:
= link_to 'Edit', dvd_path(dvd), :class => 'btn'
控制器之间唯一变化的是对象,而不是DVD,它将是书籍或游戏。所以我认为必须有一种方法来创建一个部分,使用该控制器的正确路径而不必重写每个。而且无需发送对象。
赞赏我们的想法。
修改
@defaye:我正在尝试重复使用上面的代码并将其应用于7个左右的不同控制器。 上面的代码只是一堆链接和路径的示例,它们总是相同的,唯一改变的是dvd_path(dvd)变成book_path(book)等。
我想要最简单,更直接的方式。
事实上,我现在想知道是否可以拥有处理多个控制器的相同视图,因为它们非常相似。这太棒了!
感谢。
答案 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)