Added FormHelper#file_field and FormTagHelper#file_field_tag for creating file upload fields

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@750 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
David Heinemeier Hansson 2005-02-23 00:50:34 +00:00
parent 94b5e57bcc
commit df7f3455a1
3 changed files with 12 additions and 1 deletions

View File

@ -1,5 +1,7 @@
*SVN*
* Added FormHelper#file_field and FormTagHelper#file_field_tag for creating file upload fields
* Added :order option for date_select that allows control over the order in which the date dropdowns is used and which of them should be used #619 [Tim Bates]. Examples:
date_select("post", "written_on", :order => [:day, :month, :year])

View File

@ -78,6 +78,11 @@ module ActionView
InstanceTag.new(object, method, self).to_input_field_tag("hidden", options)
end
# Works just like text_field, but returns a input tag of the "file" type instead, which won't have any default value.
def file_field(object, method, options = {})
InstanceTag.new(object, method, self).to_input_field_tag("file", options)
end
# Returns a textarea opening and closing tag set tailored for accessing a specified attribute (identified by +method+)
# on an object assigned to the template (identified by +object+). Additional options on the input tag can be passed as a
# hash with +options+.
@ -147,7 +152,7 @@ module ActionView
html_options.merge!({ "size" => options["maxlength"]}) if options["maxlength"] && !options["size"]
html_options.delete("size") if field_type == "hidden"
html_options.merge!({ "type" => field_type})
html_options.merge!({ "value" => value_before_type_cast }) unless options["value"]
html_options.merge!({ "value" => value_before_type_cast }) if options["value"].nil? || field_type == "file"
add_default_name_and_id(html_options)
tag("input", html_options)
end

View File

@ -43,6 +43,10 @@ module ActionView
text_field_tag(name, value, options.update("type" => "hidden"))
end
def file_field_tag(name, options = {})
text_field_tag(name, nil, options.update("type" => "file"))
end
def password_field_tag(name = "password", value = nil, options = {})
text_field_tag(name, value, options.update("type" => "password"))
end