2014-02-11 52 views
0

我不斷收到一個NoMethodError我的form_for的form_for NoMethod錯誤

這是我_form.html.erb

<%= form_for @booking do |f| %> 
    <%= f.label :content %> 
    <%= f.text_area :content, rows: 6 %> 
    <%f.submit 'Save' %> 

和new.html.erb

<h1> New Booking </h1> 
<%= render 'form' %> 

和最終結果:出現預訂中的NoMethodError#new。

(PS這個問題是有點偏離主題,但我怎麼會做出一個表單輸入進行選擇,並從日期(每月的順序去:日:年)

+0

您可以指定錯誤是什麼? (你可能沒有定義'@ booking'或類似的東西PS:使用2個自定義名稱作爲輸入,並在你的控制器中使用它們打開的參數 – rlecaro2

+0

我用於「def new @booking = Booking.new 「在預訂控制器上,錯誤是」未定義的方法內容「爲#<預訂ID:無,created_at:無,updated_at:無> – user3150377

+1

您是否遷移?看起來您的預訂沒有內容列。 – rlecaro2

回答

1

看來你不沒有遷移你的模型,所以它只有一個id和時間戳,只是創建一個新的遷移(或者編輯現有的,如果你不介意重新設置數據庫,但這不是一個好習慣)

在終端

執行命令

rails generate migration AddContentToBookings content:text 

然後

rake db:migrate 

一定要檢查出Rails Migration Guide

+0

謝謝,它的工作!我會閱讀移植指南。<%= f.label:content%>確實有效,「<% = f.text_area:content,rows:6%>「似乎沒有。 – user3150377

+0

殭屍的Rails非常適合開始學習rails(railsforzombies.org/)在那裏你可以學習框架圖層等等。 GL&HF。 – rlecaro2