質問編集履歴

1

コードを追記しました

2016/04/27 03:00

投稿

kenny_sayama
kenny_sayama

スコア1036

test CHANGED
File without changes
test CHANGED
@@ -1,7 +1,63 @@
1
- Railsで開発中のアプリケーションで、`contact`というお問い合わせ用ページのフォームに対してモデルでバリデーションを掛けたいと思っています。
1
+ Railsで開発中のアプリケーションで、contactというお問い合わせ用ページのフォームに対してモデルでバリデーションを掛けたいと思っています。
2
2
 
3
3
  しかし、メソッドの名前が`contact`のため、railsで標準でよびだせるvalidatesなどが使えません。※ createやupdateメソッドなどではないと呼べないとのこと。
4
4
 
5
5
 
6
6
 
7
7
  どなたかcreateやupdateなどのメソッド以外でもvalidatesを使える方法を知りませんでしょうか?
8
+
9
+
10
+
11
+ 以下コード追記
12
+
13
+ ```Ruby
14
+
15
+ # hoge_controller.rb
16
+
17
+ def contact
18
+
19
+ @contact = Hoge.new(hoge_params)
20
+
21
+ end
22
+
23
+
24
+
25
+ private
26
+
27
+ def hoge_params
28
+
29
+ params.require(:hoge).permit(:name, :title, :email, :body)
30
+
31
+ end
32
+
33
+ ```
34
+
35
+
36
+
37
+ 以下のバリデーションを有効化させたいです
38
+
39
+ ```Ruby
40
+
41
+ # hoge.rb
42
+
43
+ class Hoge < ActiveRecord::Base
44
+
45
+ validates :name,
46
+
47
+ presence: true
48
+
49
+ validates :title,
50
+
51
+ presence: true
52
+
53
+ validates :email,
54
+
55
+ presence: true
56
+
57
+ validates :body,
58
+
59
+ presence: true
60
+
61
+ end
62
+
63
+ ```