【问题标题】:Rails Generators- Multiple array arguements in generator returning 'No value provided for required arguments'Rails 生成器 - 生成器中的多个数组参数返回“没有为所需参数提供值”
【发布时间】:2011-05-25 12:58:50
【问题描述】:

我写了这个生成器来接受多个数组参数

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, :type => :array, :required => true, :desc => "required"
  argument :displays_back, :type => :array, :required => true, :desc => "required"
  argument :displays_front, :type => :array, :required => true, :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}'

但我总是收到错误消息“没有为必需的参数 'fields'、'validations'、'displays_back'、'displays_front' 提供值”

我真的不知道如何表示一个数组...有什么建议吗?

【问题讨论】:

  • 一旦数组启动,之后的一切都被认为是该数组的一个实例
  • slideshare.net/joshsmoore/rails-3-generators 找到的解决方法是拥有一个数组并将参数传递给每个 arra 实例,例如 rails g test_scaffold test name:string:string:black:white

标签: ruby-on-rails arrays arguments generator


【解决方案1】:

运行查看帮助

rails generate test_scaffold

你可以像这样传递数组选项

rails generate test_scaffold User --fields name age

User是脚手架名称,可以这样获取字段

options["fields"]
#=> ["name", "age"]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 2015-12-07
    • 2011-06-05
    • 1970-01-01
    相关资源
    最近更新 更多