2

「railstutorial.org」の例に従って、「チケット」に属する「ログ」を作成しました。すなわち。1 つの「チケット」には多数の「ログ」があります。CONSOLEで「チケット」を追加できました。しかし、「ログ」を追加しようとすると、「Ticket Can't be blank」というエラー メッセージが表示されました。(以下の添付の写真をご覧ください) 何か提案やアドバイスをいただけないでしょうか? 前もって感謝します。2012-09-03 更新: モデルの写真を追加しました。どうもありがとう。 img3 img1 img2 モデル

2012 年 9 月 5 日の更新: ticket_id に整数を使用するようにモデルを更新しました。 20120905

4

3 に答える 3

1

根本原因が見つかりました。これは、「log.rb」の「attr_accessible」に「:ticket_id」が追加されていなかったためで、「log.rb」の「attr_accessible」に「:ticket_id」を追加すると問題がなくなりました。(下の写真をご覧ください)。

以下のリンクで「attr_accessible」についても学びました。 http://madkingsmusings.blogspot.tw/2011/04/attraccessible-and-security-in-rails.html 1 2

于 2012-09-08T05:02:34.390 に答える
1

Ticket.new または Ticket.first を実行すると、表示される属性をチェックアウトします。ここに表示されているコードによると、Ticket モデルの場合、ticket_id 列を作成すると、Rails が ID 生成を処理し、この属性を考慮したままにすることができます-

設定より規約

生成された ID は主キーとして機能し、ログからチケットを参照するために使用できます。

于 2012-09-02T06:10:25.797 に答える
0

最初の変更:

移行を変更し、外部キーを整数にします。を使用t.integer :ticket_idすると、外部キーの命名が明確かつ明示的になります。

t.integer :ticket_id

2番目:次のように値を保存してみてください

obj = Ticket.first
Log.create!(:ticket_id => obj.id)
于 2012-09-02T06:17:46.733 に答える