generating forms with a self-defined helper

im currently trying to implement a form with several buttons, and my
solution for that was to make a full form for each of the 5 buttons.
thats extremely repetitive, so i wanted to generate the forms with a
helper function that i define myself, but i cant make it work.

my form method:

module ApplicationHelper
  def raw_datum_new_helper(status)

    form_for(@raw_datum) do |f|
      if @raw_datum.errors.any?
      "<div id='error_explanation'>"
        "<h2>#{pluralize(@raw_datum.errors.count, "error"})prohibited
this raw_datum from being saved:</h2>"
        @raw_datum.errors.full_messages.each do |msg|
    <% end %>

    "<div class='field'>"
    #{f.hidden_field :timestamp, :value =>[0,16]
      f.hidden_field :status, :value => status}
    </div><div class='actions'>"
      f.submit :value => status


my errors when calling <%= raw_datum_new_helper("ins Bett gelegt") %>:
syntax error, unexpected '}', expecting ')'
...aw_datum.errors.count, "error"})prohibited this raw_datum fr...
... ^
syntax error, unexpected ':', expecting '}'
...his raw_datum from being saved:</h2>"
... ^
unknown regexp option - l
syntax error, unexpected '<'
unknown regexp options - dv
syntax error, unexpected keyword_class, expecting keyword_do or '{' or
    "<div class='field'>"
syntax error, unexpected keyword_end, expecting '}'

Does anyone have an idea as to how to go about this?


nanaya wrote in post #1183937:


Rails helper is normal ruby method so you can't write it like erb. There
also a few syntax errors.

You'll be better off writing partial instead of helper.

Thank you! I just did that (iterated over an array with the variables
that change), it was definitely less hassle than trying to make the
function work.