Ruby on rails 3.1 不同控制器的部分轨道

Ruby on rails 3.1 不同控制器的部分轨道,ruby-on-rails-3.1,Ruby On Rails 3.1,所以我有不同的控制器,它们共享很多功能,我想知道是否有办法在它们之间共享类似的功能 例如: = link_to 'Edit', dvd_path(dvd), :class => 'btn' 控制器之间唯一变化的是对象,而不是dvd,它将是书籍或游戏。所以我认为必须有一种方法来创建一个分部,它使用控制器的正确路径,而不必重写每个路径。而且不需要发送对象 我很欣赏你的想法 编辑 @德法耶:我想做的是重用上面的代码,并将其应用到7个左右不同的控制器上。 上面的代码只是一组始终相同的链接和路径的

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

例如:

= link_to 'Edit', dvd_path(dvd), :class => 'btn'
控制器之间唯一变化的是对象,而不是dvd,它将是书籍或游戏。所以我认为必须有一种方法来创建一个分部,它使用控制器的正确路径,而不必重写每个路径。而且不需要发送对象

我很欣赏你的想法

编辑

@德法耶:我想做的是重用上面的代码,并将其应用到7个左右不同的控制器上。 上面的代码只是一组始终相同的链接和路径的示例,唯一的变化是dvd路径(dvd)变成了book路径(book),等等

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

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


谢谢。

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

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

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

= link_to_edit(object)

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

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

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

= link_to_edit(object)

我认为你应该添加你想要避免的内容,否则建议你已经知道的内容太诱人了(从我阅读这个问题的理解来看),我认为你应该添加你想要避免的内容,否则建议你已经知道的内容太诱人了(从我阅读这个问题的理解来看)抱歉之前的帖子,我不知道我必须将
模块ApplicationHelper
包含在文件的顶部。现在它可以工作了。出于好奇,有没有办法不显式地发送对象就可以做到这一点?类不应该知道自己吗?另外,此操作不起作用:
url\u for(:id=>object,:action=>destroy')
它将转换为:games/:id并调用
show
操作。调用
destroy
操作的正确方法是什么?谢谢。很抱歉之前的帖子,我不知道我必须将
module ApplicationHelper
包含在文件的顶部。现在它可以工作了。出于好奇,有没有办法不显式地发送对象就可以做到这一点?类不应该知道自己吗?另外,此操作不起作用:
url\u for(:id=>object,:action=>destroy')
它将转换为:games/:id并调用
show
操作。调用
destroy
操作的正确方法是什么?谢谢