2017-03-29 7 views
0

が、私はエラー未定義のメソッド` TO_DATEを持っている」:NilClassをローカルでの私のHerokuのサーバ以外のすべての作業に、私はそれを修正する方法を知らない未定義のメソッド `TO_DATE:nilには「nilのためHerokuのアプリのNilClass

私私は "TO_DATE"

モジュールBiensHelper

def sell_time(sell_date) 
    time = Time.now.to_s 
    time = time.to_date 
    delai = time - sell_date.to_date 
    delai.round 
end 

エンド

私は

私のヘルパーを呼び出すビューを呼び出すヘルパー
<% @biens.each do |bien| %> 
    <h3> 
    <%= bien[:name] %> <br> 
    <%= bien[:adress] %> <br> 
    <%= bien[:bien_type] %> <br> 
    <%= bien[:url] %> <br> 
    <%= bien[:latitude] %> <br> 
    <%= bien[:longitude] %> <br> 
    Vendu il y a <%= sell_time(bien.sell_date) %> jours<br> 
    <%= link_to "Modifier", edit_bien_path(bien), class: "btn btn-warning" %> <br> 
    <%= link_to "X", bien_path(bien), method: :delete, class: "btn btn-danger" %> <br> 
</h3> 
<% end %> 
+0

「sell_date」がゼロを渡しているというエラーが表示されています – ashvin

答えて

0

あなたのエラーはここでは、Time.nowを取っているsell_dateがラインdelai = time - sell_date.to_date

でnilの値を渡しているあなたは

def sell_time(sell_date) 
    if sell_date.present? 
    delai = Date.today - sell_date.to_date 
    delai.round 
    end 
end 

そして

time = Time.now.to_s 
time = time.to_date 

のようにこの種のエラーを無視することができることを示していると代わりにこれをto_dateに変換すると、Date.todayを直接使用できます。

+0

ありがとうございました!その仕事:) – Wako

+0

@ワコ歓迎:) – ashvin

0

あなたはここでエラーを取得しています

delai = time - sell_date.to_date 

sell_dateは、レコードのあなたの1のためにnilです。 heorku dbをチェックしてください。あなたのコンソールからheroku run rails dbを実行してください。

また、heroku run rails consoleのようにレールコンソールを開くこともできます。

変更コードへ:sell_dateがnilであれば

def sell_time(sell_date) 
    time = Time.now.to_s 
    time = time.to_date 
    if sell_date.present? 
    delai = time - sell_date.to_date 
    delai.round 
    end 
end 

機能は、現在の時刻に販売時間を返します。しかし、私の見解ではdbを修正する必要があります。 dbに正しい値を書き込んでください。

関連する問題