Ruby on rails 控制器中的Rails部分
我有一个代码,它几乎在我的三个控制器中重复,我想知道:Ruby on rails 控制器中的Rails部分,ruby-on-rails,partials,Ruby On Rails,Partials,我有一个代码,它几乎在我的三个控制器中重复,我想知道: 有没有办法在控制器内渲染部分?我要澄清一下,我想编写相同的ruby代码,并在每个控制器中呈现它。有人知道怎么做吗?谢谢有两种解决方案,模块和玩继承 模块 使用自定义代码定义模块并将其包含在控制器中 module MyCustomModule def method_1 #code ... end def method_2 #code ... end def method_2 #code ...
有没有办法在控制器内渲染部分?我要澄清一下,我想编写相同的ruby代码,并在每个控制器中呈现它。有人知道怎么做吗?谢谢有两种解决方案,模块和玩继承 模块 使用自定义代码定义模块并将其包含在控制器中
module MyCustomModule
def method_1
#code ...
end
def method_2
#code ...
end
def method_2
#code ...
end
end
然后在控制器中:
class MyController < AplicationController
include MyCustomModule
end
class MyController
遗产
如果您不介意所有控制器都使用这些方法,只需在应用程序控制器中定义它们即可
class ApplicationController < ActionController::Base
# ...
def method_1
#code
end
# And so on ...
end
class ApplicationController
有两种解决方案,模块和玩继承
模块
使用自定义代码定义模块并将其包含在控制器中
module MyCustomModule
def method_1
#code ...
end
def method_2
#code ...
end
def method_2
#code ...
end
end
然后在控制器中:
class MyController < AplicationController
include MyCustomModule
end
class MyController
遗产
如果您不介意所有控制器都使用这些方法,只需在应用程序控制器中定义它们即可
class ApplicationController < ActionController::Base
# ...
def method_1
#code
end
# And so on ...
end
class ApplicationController
我被你的问题弄糊涂了;我看不出这和偏音有什么关系。然而,如果我理解正确的话,你所拥有的是这样的
class FooController < ApplicationController
def my_method
end
end
class BarController < ApplicationController
def my_method
end
end
class BazController < ApplicationController
def my_method
end
end
class FooController
您希望通过将
my_方法
方法抽象到一个地方来消除它。解决方案是在ApplicationController上定义它,其他三个控制器都继承自它。我被你的问题弄糊涂了;我看不出这和偏音有什么关系。然而,如果我理解正确的话,你所拥有的是这样的
class FooController < ApplicationController
def my_method
end
end
class BarController < ApplicationController
def my_method
end
end
class BazController < ApplicationController
def my_method
end
end
class FooController
您希望通过将
my_方法
方法抽象到一个地方来消除它。解决方案是在ApplicationController
上定义它,其他三个控制器都从中继承。我不明白你的意思。部分是视图逻辑的一部分,然后您需要在控制器内重复代码。你能举例说明你的问题吗?我不明白你的意思。部分是视图逻辑的一部分,然后您需要在控制器内重复代码。你能举例说明你的问题吗?