问题描述
|
香港专业教育学院写这个发生器采取多个数组参数
class TestScaffoldGenerator < Rails::Generators::NamedBase
#template source
source_root File.expand_path(\"../templates\",__FILE__)
#scaffold_name argument
argument :fields,:type => :array,:required => true,:desc => \"required\"
argument :validations,:desc => \"required\"
argument :displays_back,:desc => \"required\"
argument :displays_front,:desc => \"required\"
#gem_dependancies
gem(\"haml\")
#initial generator method
def generate_test_scaffold
template \"model.rb.erb\",\"app/models/#{file_name}.rb\"
end
#private methods do get run when generator is initiated
private
#scaffold_name to underscore gives filename
def file_name
class_name.demodelize
end
end
当我运行“ rails g test_scaffold”时,我不知道如何表示数组参数的结尾和另一个参数的开头。
香港专业教育学院尝试和更多:
\'rails g test_scaffold name:string string black white\'
\'rails g test_scaffold name:string,string,black,white\'
\'rails g test_scaffold [name:string] [string] [black] [white]\'
\'rails g test_scaffold [name:string],[string],[black],[white]\'
\'rails g test_scaffold {name:string} {string} {black} {white}\'
\'rails g test_scaffold {name:string},{string},{black},{white}\'
但是我总是收到错误“没有为必需的参数提供任何值”,“字段”,“验证”,“ displays_back \”,“ displays_front \”
我真的不确定如何表示一个数组...任何建议?
解决方法
跑去看看帮助
rails generate test_scaffold
您可以像这样传递数组选项
rails generate test_scaffold User --fields name age
用户是支架名称,可以像这样获取字段
options[\"fields\"]
#=> [\"name\",\"age\"]