ruby-on-rails – 我想创建一个可在所有控制器和视图中使用的方
发布时间:2020-12-17 03:35:26 所属栏目:百科 来源:网络整理
导读:我正在制作一个电子商务应用程序,其中的类别在所有页面的侧栏中都可见.我在应用程序控制器中写了一个方法 def categories @categories = Category.allend 但是我怎么能默认这个方法可用于所有控制器和动作,这样我就不必在每个动作中专门调用这个方法 def lis
我正在制作一个电子商务应用程序,其中的类别在所有页面的侧栏中都可见.我在应用程序控制器中写了一个方法
def categories @categories = Category.all end 但是我怎么能默认这个方法可用于所有控制器和动作,这样我就不必在每个动作中专门调用这个方法 def list categories @products = Product.order('title').page(params[:page]).per(4) end 解决方法
您可以在application_controller.rb中定义方法,并且由于每个其他控制器都继承自此方法,因此该方法可供所有控制器使用.另外,为了使它成为一个帮助方法,它可以在视图中使用,你可以在application_controller.rb中说helper_method:my_method.
现在,为了在控制器中的任何其他操作之前自动评估它,您可以使用before_filter.添加before_filter:my_method在控制器中,您希望在任何操作之前或在application_controller.rb中评估此方法 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Oracle:如何检测客户端进程终止,就像它适用于sqlplus一样?
- Jmeter关联
- 无法在XML设置中添加架构(xsd)
- reactjs – React Router不呈现Component
- Flutter学习之旅(六)----ListView控件自定义Adapter以及带参
- vb.net – 如何在Visual Studio 2010中构建64位Visual Basi
- 命令行方式登录PostgreSQL、创建用户和数据库并赋权
- iphone – gestureRecognizer:shouldReceiveTouch:没有被
- com.alibaba.fastjson JSONObject toJSONString 时出现数组
- c# – 单元测试和验证逻辑