2015-05-17 39 views
0

我希望有人能夠幫助我解決今天遇到的軌道問題。我試圖教自己的鐵軌,並使用我在網上找到的鐵軌演員。在軌道中創建適當的表單時出現的問題

https://www.youtube.com/watch?v=abcnfFS_DS8

我遇到了一個問題,創建窗體。例如,我試圖創建的兩個小組,要求標題和說明沒有出現。有人能幫我快點看看嗎?

本質上,我遇到了基於14:25視頻中的問題。我的代碼完全(至少我相信)寫了作者是如何擁有它的,而且我仍然遇到問題。

= simple_form_for @pin, html: { multipart: true } do |f| 
-if @pin.errors.any? 
    #errors 
     %h2 
      = pluralize(@pin.errors.count, "error") 
      prevented this Pin from saving 
      %ul 
       - @pin.errors.full_messages.each do |msg| 
       %li = msg 

     .form-group 
      = f.input :title, input_html: { class: 'form-control' } 

     .form-group 
      = f.input :description, input_html: { class: 'form-control' } 

     = f.button :submit, class: "btn btn-primary" 
+0

什麼是錯誤或發出你所看到的是什麼呢? – Michael

+0

如果我有「btn」類縮進到f.input相同的行,我得到一個工作頁面.....但它不能顯示標題和描述形式。 如果我嘗試跟隨劇組中的內容,(基本上我列出的)我收到一條錯誤消息,指出:我有一個語法錯誤。 /_form.html.haml:18:語法錯誤,意想不到keyword_ensure,期望keyword_end _form.html.haml:21:語法錯誤,意想不到的輸入結束,期望keyword_end 上面我所列出了是我擁有的所有代碼只有17行。所以不確定究竟是什麼修復。 – kdweber89

+0

其中之一,你不是用'end'結束你的'do',它會在你的錯誤信息中聲明。 – Michael

回答

0

HAML使用縮進來表示塊。在你的代碼已經-if @pin.errors.any?下indentented您輸入這意味着,如果有任何錯誤的觀點僅呈現輸入:

-if @pin.errors.any? 
    # ... 
    .form-group 
     = f.input :title, input_html: { class: 'form-control' } 

    .form-group 
     = f.input :description, input_html: { class: 'form-control' } 
    = f.button :submit, class: "btn btn-primary" 

小心留意縮進的水平位置:

= simple_form_for @pin, html: { multipart: true } do |f| 
    -if @pin.errors.any? 
    #errors 
     %h2 
     = pluralize(@pin.errors.count, "error") 
     prevented this Pin from saving 
     %ul 
     - @pin.errors.full_messages.each do |msg| 
     %li = msg 
    # end if 
    .form-group 
     = f.input :title, input_html: { class: 'form-control' } 

    .form-group 
     = f.input :description, input_html: { class: 'form-control' } 

    = f.button :submit, class: "btn btn-primary" 

我會如果你剛開始使用Rails或Ruby,那麼不推薦HAML。它對於縮進非常挑剔,對初學者來說可能會非常沮喪(除非你擅長Python)。有很多更多初學者友好的教程不使用HAML。

+0

我確實看過了你提交給我的代碼,但仍遇到另一個問題。我取代了我的代碼粘貼了代碼,並再次收到語法錯誤。起初,它是與「結束如果」部分,我通過擺脫%和單詞之間的間距來解決它,但後話我收到另一個錯誤,只是這次我得到了「語法錯誤,意外的關鍵字_確認,期待keyword_end 「 :( – kdweber89

0

我想到了這裏的問題! (以及來自朋友的一點幫助)

問題出在haml文件的開頭語句中。這條線在這裏,'%li = msg'需要向前進一步縮進。

像這樣

-if @pin.errors.any? 
    #errors 
     %h2 
      = pluralize(@pin.errors.count, "error") 
      prevented this Pin from saving 
      %ul 
       - @pin.errors.full_messages.each do |msg| 
        %li = msg