首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Rails 5中重用私有方法

在Rails 5中重用私有方法
EN

Stack Overflow用户
提问于 2016-11-26 07:50:47
回答 1查看 230关注 0票数 1

到目前为止,大多数的s听过的问题都与“有什么不同”有关。我需要知道如何在不同的控制器之间重用每个控制器。

下面只是一个例子。

ApplicationController:

代码语言:javascript
运行
复制
private
 def redirect
  redirect_to welcome_path
 end

任意控制器:

代码语言:javascript
运行
复制
class AnyController < ApplicationController
 before_action :redirect, only: :about

 def about
 end
end

现在,我有许多控制器使用相同的私有方法,并希望在一个中心位置存储它。你知道,让它保持干燥之类的。将这些私有方法放在哪里,以便在继承自ApplicationController的控制器之间重用?如果这样的问题已经回答了,请给我指点。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-26 23:43:59

将这些私有方法放在哪里,以便在继承自ApplicationController的控制器之间重用?

如果您希望从ApplicationController继承的类拥有该方法,则只需将其放入ApplicationController中即可。

代码语言:javascript
运行
复制
class ApplicationController < ActionController::Base

 private

 def redirect_to welcome_path
 end
end

class AnyController < ApplicationController
  # gets the redirect_to welcome_path method
end

这就是为什么ApplicationController存在的原因。

Re:模块,它不需要在模块中,除非您最终想将它混合到ApplicationController之外的另一个类中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40816187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档