Ruby on rails 如何在RubyonRails中生成控制器动作数组?
在我的Rails 4应用程序中,我有许多静态Ruby on rails 如何在RubyonRails中生成控制器动作数组?,ruby-on-rails,ruby,Ruby On Rails,Ruby,在我的Rails 4应用程序中,我有许多静态页面,这些页面应该可以被谷歌索引,也可以不被谷歌索引。为此,我使用了一个变量indexable,但可能有更好的方法: class PagesController < ApplicationController def home indexable = true end def about_us indexable = true end def secret_stuff indexable = fa
页面
,这些页面应该可以被谷歌索引,也可以不被谷歌索引。为此,我使用了一个变量indexable
,但可能有更好的方法:
class PagesController < ApplicationController
def home
indexable = true
end
def about_us
indexable = true
end
def secret_stuff
indexable = false
end
end
谢谢你的帮助。也许一个before\u过滤器会有意义吗
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
class PagesController
这可能是错误的做法。其中许多操作无法通过GET
实现。与rake routes类似的东西怎么样?不是行动是可转位的,而是在行动中结束的路径,可能有很多。@tadman:好的,同意。但我如何才能将这些路径放入数组中?@anthony在这里有了一个解决方案的开始。您可能想扩展路由系统,以允许支持像可索引:true
这样的标志。@塔德曼:好的,听起来不错,但我在Rails的路由
和“标志”上找不到任何东西。你能给我举个例子吗?你必须在Rails路由系统中彻底破坏,修补它以包括它通常没有的选项。不过,这可能使原本应该是一个简单的问题变得过于复杂。一种简单的方法是在routes.rb
文件中使用特定样式的注释,您可以使用实用程序脚本查找和处理这些注释,并将它们转换为地图。不过,您必须触发每个操作以发现其是否可索引。这是可疑的效用。
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