0
私はテンプレート内にブロックを定義し、それを部分に渡して文字列にレンダリングしますが、部分内のブロックを呼び出すとテンプレートコンテキストにレンダリングするように見えますか?Rubyの部分ブロックのレンダリングが正しくない
LIB/test.rb
class Test
def render(&block)
view = ApplicationController.new()
view.class_eval do
include ApplicationHelper
end
view.render_to_string(:partial => 'cool_partial', :locals => {
:block => block
})
end
end
コントローラ/ action.haml
= @test_obj.render do |variable|
%td='hello-world'
アプリ/ビュー/ _cool_partial.haml
%table
%tr
(0..5).each do |i|
block.call
出力これが原因HAML内部問題に実際に
<td>hello-world</td>
<td>hello-world</td>
<td>hello-world</td>
<td>hello-world</td>
<td>hello-world</td>
<table>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
</table>