Rails/Haml: Как создать форму сообщения?

Я пытаюсь сделать простую форму, но она работает не так хорошо. Это мой текущий код формы:

%form{ :controller => 'tool', :action => 'activation', :method => 'post' }
  %table{ :border => 0, :width => "100%", :height => "100%" }
    %tr{ :align => "center", :valign => "center" }
      %td
        %input{ :type => "text", :name => "accountName" }
        %input{ :type => "submit", :name => "submit", :value => "login" }

Я получаю этот url при попытке отправить данные через форму: 10.0.0.2:3000/activation. Я знаю, что могу активировать маршрут tool#activation, но это неправильно, я хочу отправить post-запрос в 10.0.0.2:3000/tool/activation, но :action => 'tool/activation' также является плохим, насколько я понимаю.

Можете ли вы дать мне совет?

Ответ 1

Вы должны использовать теги хелпера рельсов.

= form_tag tool_activation_path, :method => :post do
    # The table
        # The row
            # The data
                = text_field_tag "accountName", ""
                = submit_tag "Submit"

Подробнее здесь: http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html

Кроме того, вы должны стараться избегать ненужных таблиц, чтобы создать стиль вашего макета. Вместо этого посмотрите на использование CSS.