Changeset 3573
- Timestamp:
- 02/12/06 00:22:24 (3 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/actionpack/lib/action_view/helpers/form_helper.rb
r3572 r3573 122 122 # 123 123 def form_for(object_name, object, options = {}, &proc) 124 concat form_tag(options, options.delete(:html) || {}), proc.binding 124 raise ArgumentError, "Missing block" unless block_given? 125 concat(form_tag(options, options.delete(:html) || {}), proc.binding) 125 126 fields_for(object_name, object, options, &proc) 126 concat '</form>', proc.binding127 concat('</form>', proc.binding) 127 128 end 128 129 … … 142 143 # Like collection_select and datetime_select. 143 144 def fields_for(object_name, object, options = {}, &proc) 144 raise ArgumentError, "fields_for requires a block!" unless block_given? 145 builder_klass = options[:builder] || FormBuilder 146 form_builder = builder_klass.new(object_name, object, self, options, proc) 147 yield form_builder 145 raise ArgumentError, "Missing block" unless block_given? 146 yield (options[:builder] || FormBuilder).new(object_name, object, self, options, proc) 148 147 end 149 148 trunk/actionpack/lib/action_view/helpers/prototype_helper.rb
r3572 r3573 173 173 # Works like form_remote_tag, but uses form_for semantics. 174 174 def remote_form_for(object_name, object, options = {}, &proc) 175 concat form_remote_tag(options), proc.binding175 concat(form_remote_tag(options), proc.binding) 176 176 fields_for(object_name, object, options, &proc) 177 concat '</form>', proc.binding177 concat('</form>', proc.binding) 178 178 end 179 179 alias_method :form_remote_for, :remote_form_for