如何在Ruby on Rails中生成一组控制器动作?

时间:2014-06-19 16:15:21

标签: ruby-on-rails ruby

在我的Rails 4应用程序中,我有一些静态pages,它们应该可以被Google索引。我正在使用变量indexable,但可能有更好的方法:

class PagesController < ApplicationController

  def home
    indexable = true
  end

  def about_us
    indexable = true
  end

  def secret_stuff
    indexable = false
  end

end

如何生成包含indexable的所有页面的数组?

我尝试在帮助器中执行此操作,但它无法正常工作:

def indexable_pages
  array = []
  PagesController.instance_methods(false).each do |action|
    if action.indexable == true # this won't work of course
      array << action
    end
  end
  array
end

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

也许有一个before_filter会有意义吗?

class PagesController < ApplicationController
  before_filter :set_indexable, except: [:secret_stuff]

  def home
  end

  def about_us
  end

  def secret_stuff
  end

  private 

  def set_indexable
    @indexable = true
  end

end