2016-10-06 8 views
0

モデルの関係:
材料は多くは
Expressが材料に属して表現したRails4:バグがindexアクションに追加する新しいOBJが原因である可能性があり

expressesController.rb

def index 
    @express = @material.expresses.new 
    @expresses = @material.expresses 
end 

問題:
@expressesのテーブルには、空の場合でも常にnullの行があります。 @expressが空でない場合でも、常にテーブルの一番下にヌル行があります。

私はわからないが、私はindexアクションで@express = @material.expresses.newを置くため、問題が発生したと思います。

誰でも問題の原因と解決方法を教えてください。

enter image description here

+0

よう@expressesをリストビューにチェックを追加することができます空のフォームを一度早い段階で提出し、データベースを 'console'から確認してください –

+0

@MoatazZaitounデータベースからチェックしましたが、そこにはレコードがありません –

+0

'new @の代わりに' @ material.expresses.build'を試してください。 –

答えて

0

あなたは最初の二つの方法でそれを行う多分あなたを

def index 
    @expresses = @material.expresses 
    @express = @material.expresses.new 
end 

を使用してコントローラのコードを交換したり、

@expresses.each do |express| 
    unless express.new_record? 
    # your view code 
    end 
end 
+0

こんにちは、私は表現してみると最後に動作します= material.expresses.all なぜそれが機能するのか分かりますか? –

関連する問題