【发布时间】:2016-05-03 10:44:23
【问题描述】:
我正在尝试为半静态页面动态创建方法。但是,下面的代码似乎不起作用。我收到 wrong number of arguments (0 for 1) 错误。
class PagesController < ApplicationController
pages = %w[ page1 page2 page3 ]
pages.each do |page|
define_method(page) do |a|
#do nothing
end
end
end
【问题讨论】:
-
那是哪条线/方法?
-
define_method(page) 做 |a|
-
另外,你想用这个实现什么?它可能有一个更简单的解决方案。
-
PagesController#page1 中的ArgumentError,参数数量错误(0 代表 1)
-
只是试图动态定义页面方法。例如def page1 end, def page2 end 等等。
标签: ruby-on-rails ruby-on-rails-4 controller metaprogramming