2012-06-14 12 views
10

Próbuję zrobić prostą formę, ale działa ona nie tak dobrze. To jest mój aktualny kod forma:Rails/Haml: Jak utworzyć formularz postu?

%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" } 

otrzymuję ten link podczas próby wysyłania danych za pośrednictwem formularza: 10.0.0.2:3000/activation. Wiem, że mogę uczynić trasę tool#activation aktywacją, ale jest to niewłaściwy sposób, chcę wysłać zapytanie pocztą do 10.0.0.2:3000/tool/activation, ale :action => 'tool/activation' również jest złym sposobem, o ile rozumiem.

Czy możesz udzielić mi porady?

Odpowiedz

18

Powinieneś używać znaczników pomocniczych rails.

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

Zobacz więcej tutaj: http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html

Ponadto, należy starać się unikać niepotrzebnych tabel styl układ. Zamiast tego spróbuj użyć CSS.

+0

Świetnie! Wielki ThanX! – alterpub

+0

Nie ma za co! Pamiętaj, aby zaakceptować odpowiedź, aby każda osoba z podobnym problemem wiedziała, co zadziałało. – MrDanA

Powiązane problemy