加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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中评估此方法

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读