0
所以我试图从一个控制器 的想法是,我可以从一个Rails应用程序从控制器内运行的建筑工
用于测试目的IVE内产生支架内运行的发电机创建了一个小型发电机这会创建一个没有真实内容的初始化程序。我已经从shell中运行这个(铁轨产生初始化)
lib/generators/initializer_generator.rb
class InitializerGenerator < Rails::Generators::Base
def create_initializer_file
create_file "config/initializers/initializer.rb", "# Add initialization content here"
end
end
但问题来了时,我尝试从控制器运行发电机
class GeneratorController < ApplicationController
include Rails::Generators
include Rails::Generators::Actions
def index
generate(:initializer)
end
end
所以这带来的反应“未定义方法'行为” 然后我做了一些研究,明知轨发生器基于APON雷神 ,发现行为的方法是在托尔雷神方法::操作模块 http://rubydoc.info/github/wycats/thor/master/Thor/Actions:behavior
因此,我改变的控制器编码为包括模块:
class GeneratorController < ApplicationController
include Rails::Generators
include Rails::Generators::Actions
include Thor::Actions
def index
generate(:initializer)
end
end
现在错误是“的参数错号(3 0)”。现在对于可能出现的问题感到非常困惑。
使用反引号是解决这个 – Ben 2011-05-25 10:08:09
使用反引号是解决这个问题的方法 – Ben 2011-05-25 10:08:10