fields_for选项文档?

时间:2016-07-21 02:47:14

标签: ruby-on-rails ruby

我希望我错过了一些明显的东西。我希望看到可以通过options哈希参数传递到rails fields_for方法的可用options

我查看了fields_for documentation,并且没有显示所有可用选项的部分。例如:下面的一些评论中提到它们是您可以传递的child_index选项。

问题fields_for还有其他选项吗?是否有官方文档或任何地方的文档,解释了fields_for的所有可用选项?

1 个答案:

答案 0 :(得分:1)

从我的挖掘中,看起来你可以传入indexchild_index

查看Rails FormBuilder的初始化方法(为每个表单调用它),你可以看到它没有默认值,实际上只检查我上面提到的那些值:

# rails/actionview/lib/action_view/helpers/form_helper.rb
# lines 1284 - 1297

def initialize(object_name, object, template, options)
  @nested_child_index = {}
  @object_name, @object, @template, @options = object_name, object, template, options
  @default_options = @options ? @options.slice(:index, :namespace) : {}  ### < NO DEFAULTS
  if @object_name.to_s.match(/\[\]$/)
    if object ||= @template.instance_variable_get("@#{Regexp.last_match.pre_match}") and object.respond_to?(:to_param)
      @auto_index = object.to_param
    else
      raise ArgumentError, "object[] naming but object param and @object var don't exist or don't respond to to_param: #{object.inspect}"
    end
  end
  @multipart = nil

  @index = options[:index] || options[:child_index]    ### < CHECKS FOR VALUES
end

我在上面的来源中添加了评论,以帮助指出我的发现。

有用的链接: