在 Controller 中动态创建方法 (RAILS)
Dynamically create methods in Controller (RAILS)
我正在尝试为半静态页面动态创建方法。但是,下面的代码似乎不起作用。我收到 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
你是说方法 :page1
(:page2
和 :page3
也一样)有一个参数 (a
),但是控制器操作没有参数,他们从参数散列中接收值。
编辑:只需从您的代码中删除 |a|
:
define_method(page) do
#do nothing
end
没有参数的块:
class PagesController < ApplicationController
pages = %w[ page1 page2 page3 ]
pages.each do |page|
define_method(page) do
#do nothing
end
end
end
我正在尝试为半静态页面动态创建方法。但是,下面的代码似乎不起作用。我收到 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
你是说方法 :page1
(:page2
和 :page3
也一样)有一个参数 (a
),但是控制器操作没有参数,他们从参数散列中接收值。
编辑:只需从您的代码中删除 |a|
:
define_method(page) do
#do nothing
end
没有参数的块:
class PagesController < ApplicationController
pages = %w[ page1 page2 page3 ]
pages.each do |page|
define_method(page) do
#do nothing
end
end
end