2014-10-06 50 views
0

我有這樣的形式:HAML與形式

= simple_form_for :login, url: sessions_path, method: :post, role: "form", class: "form-horizontal" do |f| 
    = f.input :email 
    = f.input :password 
    = f.input :remember_me, as: :boolean, label: false, inline_label: "Stay connected" 
    = f.submit "Login", class: "btn btn-primary" 
    = link_to 'Forgot Password?', new_password_reset_path 

有點自舉造型後:

.panel.panel-primary 
    .panel-heading 
    %p 
     the login form 
    .panel-body 
    = simple_form_for :login, url: sessions_path, method: :post, role: "form", class: "form-horizontal" do |f| 
     = f.input :email 
     = f.input :password 
     = f.input :remember_me, as: :boolean, label: false, inline_label: "Stay connected" 
    .panel-footer 
    = f.submit "Login", class: "btn btn-primary" 
    = link_to 'Forgot Password?', new_password_reset_path 

我得到undefined variable or method f,應該怎樣做,以得到它的工作?我嘗試在表格中嵌套.panel-footer,它工作正常,但我沒有得到正確的樣式。

回答

3

現在,提交按鈕不在您的表單塊中。所以你可以把所有的東西包裝到如下的表單塊中。

 = simple_form_for :login, url: sessions_path, method: :post, role: "form", class: "form-horizontal" do |f|  
     .panel.panel-primary 
      .panel-heading 
      %p 
       the login form 
      .panel-body 
      = f.input :email 
      = f.input :password 
      = f.input :remember_me, as: :boolean, label: false, inline_label: "Stay connected" 
      .panel-footer 
      = f.submit "Login", class: "btn btn-primary" 
      = link_to 'Forgot Password?', new_password_reset_path 
1

當然,這完全依賴於你的CSS的樣子,但你可以做的是一樣的東西

= simple_form_for :login, url: sessions_path, method: :post, role: "form", class: "form-horizontal" do |f| 
    .panel-body 
    = f.input :email 
    = f.input :password 
    = f.input :remember_me, as: :boolean, label: false, inline_label: "Stay connected" 
    .panel-footer 
    = f.submit "Login", class: "btn btn-primary" 
    = link_to 'Forgot Password?', new_password_reset_path 

但它不是與HAML的問題,與該局你也有同樣的異常