What I've done before is to call
response.template.render :partial => "blah"
This rendered the specified partial.
However this had to be done for either the whole form, thus there is
no point having <survey:questions />, <survey:questions:each />,
<survey:questions:each:question /> which does not work for me or ...
Alternatively, call render only for individual question input fields,
since you would be out of the block for calling form_for.
Example to clarify:
tag "survey:form" do |tag|
response.template.form_for @survey do |form|
tag.expand
end
end
tag "survey:questions:each" do |tag|
survey = tag.locals.survey
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# how to access form block variable from above
# to do the following
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
form.fields_for :questions do |f|
survey.survey_questions.sort_by{|q| q.order}.each do |question|
tag.locals.question = question
result << tag.expand
end
end
end
tag "survey:questions:each:question" do |tag|
# how do you access block var f? to do this:
f.text_field :answer
end
I hope it makes more sense what I'm trying to accomplish.