Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #3287 (closed enhancement: fixed)

Opened 4 years ago

Last modified 3 years ago

[PATCH] capture_helper methods now allow non-erb inputs

Reported by: Brian Takita Assigned to: David
Priority: normal Milestone:
Component: ActionPack Version: 1.0.0
Severity: normal Keywords: fd
Cc:

Description

This patch allows non-erb blocks to use the :capture and :content_for methods.

If the variable _erbout is not in the block, the return value of the block is used.

Attachments

capture_helper_works_for_non_erb.patch (2.6 kB) - added by Brian Takita on 12/19/05 19:22:46.
Initial Patch
capture_helper_works_for_non_erb.2.patch (3.1 kB) - added by Brian Takita on 12/19/05 19:25:59.
I didn't to diff the content_for_non_erb_block.rxml file in the previous patch.
capture_helper_works_for_non_erb.3.patch (4.4 kB) - added by anonymous on 12/19/05 20:10:35.
I added the capture_block and block_content_for methods. This will allow rhtml files to capture the return value of the block rather than the _erbout value.
capture_helper_works_for_non_erb.4.patch (5.0 kB) - added by Brian Takita on 12/19/05 20:20:40.
Add the erb_content_for, capture_erb, and capture_erb_with_buffer methods.

Change History

12/19/05 19:22:46 changed by Brian Takita

  • attachment capture_helper_works_for_non_erb.patch added.

Initial Patch

12/19/05 19:25:59 changed by Brian Takita

  • attachment capture_helper_works_for_non_erb.2.patch added.

I didn't to diff the content_for_non_erb_block.rxml file in the previous patch.

12/19/05 20:10:35 changed by anonymous

  • attachment capture_helper_works_for_non_erb.3.patch added.

I added the capture_block and block_content_for methods. This will allow rhtml files to capture the return value of the block rather than the _erbout value.

12/19/05 20:11:41 changed by Brian Takita

The third patch adds the capture_block and block_content_for methods.

This will allow rhtml files to capture the return value of the block rather than the _erbout value.

12/19/05 20:20:40 changed by Brian Takita

  • attachment capture_helper_works_for_non_erb.4.patch added.

Add the erb_content_for, capture_erb, and capture_erb_with_buffer methods.

12/19/05 20:22:24 changed by Brian Takita

This patch is in response to ticket 2182. http://dev.rubyonrails.org/ticket/2182

12/22/05 18:10:11 changed by david

  • keywords set to fd.

01/22/06 02:12:46 changed by david

Isn't it possible to auto-detect which of the methods that are appropriate for which situation? And then just expose the same interface. This feels like exposing unnecessary implementation details.

02/06/06 07:15:32 changed by Brian Takita

True, more of the implementation details are exposed.

I wanted to allow the block return value to be used instead of the _erbout variable because it would make the syntax more concise in certain situations when using rhtml.

Perhaps a flag can be used to denote whether to use the block output or the _erbout output?

Maybe the specs should be as follows: .rhtml

1. Default to capture _erbout output

2. Use the block output if specified by a flag in a hash argument that will be added to content_for. Something like :use_block_value = true, or :use_escaped_value = false

An alternative to 2, is to have a variable set inside the block. The advantage is the interface of content_for does not need to be changed, but the disadvantage is that this is a pretty nonstandard practice.

What do you think is better?

.rxml 1. Always use the block output.

02/26/06 19:48:20 changed by david

  • status changed from new to closed.
  • resolution set to fixed.

The final patch looked great. I just made the implementational details private.

07/23/06 02:25:48 changed by anonymous

forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja forsja