Modularisation: Using helper generating HTML output vs. using partials


I've got a general question: when do I use helper and when I do use partials to modularise certain gui elements?

For example: I've got a faq list. Each item can be folded and unfolded using ajax.

FAQ foo -> question 1 -> question 2 -> question 3

So, I wrote a helper "faq_li_tag(args)" which takes the question and answer for parameters and generates the HTML output.

But I also could have made a partial which creates the corresponding output.

What's the best solution? What are the criterias for this decision in general?

Thank you very much!

Best regards, ms

I use partials to factor out view templates to make them more readable, and so that I can reuse portions of a view in other templates.

I use helpers whenever view logic is starting to get intertwined with the view code. So presentation-only code is in the views/partials, and any logic (is this user an admin? should they see a sidebar now? etc.) goes into helpers.