teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

脱字修正

2016/03/04 03:25

投稿

退会済みユーザー
answer CHANGED
@@ -12,7 +12,7 @@
12
12
  hoge.persisted? # DBに保存されているか確認するメソッド
13
13
  # => false
14
14
 
15
- # 保存されず、save
15
+ # 保存されず、save メソッドの戻り値には false が返る
16
16
  hoge = Hoge.new(no_null_column: nil)
17
17
  hoge.save
18
18
  # => false

3

モデルの定義追加

2016/03/04 03:25

投稿

退会済みユーザー
answer CHANGED
@@ -1,6 +1,11 @@
1
- バリデーションを設定した上で `create!` ではなく `create`, `save!` ではなく `save` メソッドを利用すれば
1
+ モデルにバリデーションを設定した上で `create!` ではなく `create`, `save!` ではなく `save` メソッドを利用すれば
2
2
  エラーにはならず作成もされないという挙動になります。
3
3
 
4
+ ```hoge.rb
5
+ class Hoge < ActiveRecord::Base
6
+ validates :not_null_column, presence: true
7
+ end
8
+ ```
4
9
  ```ruby
5
10
  # 保存されないがインスタンスは生成される。
6
11
  hoge = Hoge.create(no_null_column: nil)

2

persisted\?の結果を追記

2016/03/04 03:24

投稿

退会済みユーザー
answer CHANGED
@@ -4,9 +4,13 @@
4
4
  ```ruby
5
5
  # 保存されないがインスタンスは生成される。
6
6
  hoge = Hoge.create(no_null_column: nil)
7
+ hoge.persisted? # DBに保存されているか確認するメソッド
8
+ # => false
7
9
 
8
10
  # 保存されず、save
9
11
  hoge = Hoge.new(no_null_column: nil)
10
12
  hoge.save
11
13
  # => false
14
+ hoge.persisted?
15
+ # => false
12
16
  ```

1

戻り値を追加

2016/03/04 03:22

投稿

退会済みユーザー
answer CHANGED
@@ -2,10 +2,11 @@
2
2
  エラーにはならず作成もされないという挙動になります。
3
3
 
4
4
  ```ruby
5
- # 保存されない
5
+ # 保存されないがインスタンスは生成される。
6
- Hoge.create(no_null_column: nil)
6
+ hoge = Hoge.create(no_null_column: nil)
7
7
 
8
- # 保存されない
8
+ # 保存されず、save
9
9
  hoge = Hoge.new(no_null_column: nil)
10
10
  hoge.save
11
+ # => false
11
12
  ```