回答編集履歴

4

脱字修正

2016/03/04 03:25

投稿

退会済みユーザー
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- # 保存されず、save
29
+ # 保存されず、save メソッドの戻り値には false が返る
30
30
 
31
31
  hoge = Hoge.new(no_null_column: nil)
32
32
 

3

モデルの定義追加

2016/03/04 03:25

投稿

退会済みユーザー
test CHANGED
@@ -1,8 +1,18 @@
1
- バリデーションを設定した上で `create!` ではなく `create`, `save!` ではなく `save` メソッドを利用すれば
1
+ モデルにバリデーションを設定した上で `create!` ではなく `create`, `save!` ではなく `save` メソッドを利用すれば
2
2
 
3
3
  エラーにはならず作成もされないという挙動になります。
4
4
 
5
5
 
6
+
7
+ ```hoge.rb
8
+
9
+ class Hoge < ActiveRecord::Base
10
+
11
+ validates :not_null_column, presence: true
12
+
13
+ end
14
+
15
+ ```
6
16
 
7
17
  ```ruby
8
18
 

2

persisted\?の結果を追記

2016/03/04 03:24

投稿

退会済みユーザー
test CHANGED
@@ -10,6 +10,10 @@
10
10
 
11
11
  hoge = Hoge.create(no_null_column: nil)
12
12
 
13
+ hoge.persisted? # DBに保存されているか確認するメソッド
14
+
15
+ # => false
16
+
13
17
 
14
18
 
15
19
  # 保存されず、save
@@ -20,4 +24,8 @@
20
24
 
21
25
  # => false
22
26
 
27
+ hoge.persisted?
28
+
29
+ # => false
30
+
23
31
  ```

1

戻り値を追加

2016/03/04 03:22

投稿

退会済みユーザー
test CHANGED
@@ -6,16 +6,18 @@
6
6
 
7
7
  ```ruby
8
8
 
9
- # 保存されない
9
+ # 保存されないがインスタンスは生成される。
10
10
 
11
- Hoge.create(no_null_column: nil)
11
+ hoge = Hoge.create(no_null_column: nil)
12
12
 
13
13
 
14
14
 
15
- # 保存されない
15
+ # 保存されず、save
16
16
 
17
17
  hoge = Hoge.new(no_null_column: nil)
18
18
 
19
19
  hoge.save
20
20
 
21
+ # => false
22
+
21
23
  ```