我希望我错过了一些明显的东西。我希望看到可以通过options
哈希参数传递到rails fields_for
方法的可用options
。
我查看了fields_for documentation,并且没有显示所有可用选项的部分。例如:下面的一些评论中提到它们是您可以传递的child_index
选项。
问题:fields_for
还有其他选项吗?是否有官方文档或任何地方的文档,解释了fields_for
的所有可用选项?
答案 0 :(得分:1)
从我的挖掘中,看起来你可以传入index
或child_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
我在上面的来源中添加了评论,以帮助指出我的发现。
有用的链接: