質問編集履歴

1

項目を追記しました。

2020/08/13 14:02

投稿

wantonsong
wantonsong

スコア3

test CHANGED
File without changes
test CHANGED
@@ -143,3 +143,135 @@
143
143
 
144
144
 
145
145
  申し訳ございませんが、対応方法のご教示をお願い致します。
146
+
147
+
148
+
149
+ 追記です。
150
+
151
+ 外部キーの設定を誤ってしまった可能性があります・・・
152
+
153
+ もし訂正する必要がございましたら、方法をご教示いただけますでしょうか?
154
+
155
+ ```ここに言語を入力
156
+
157
+ class CreatePost01s < ActiveRecord::Migration[5.1]
158
+
159
+ def change
160
+
161
+ create_table :post01s do |t|
162
+
163
+ t.references :user, foreign_key: true
164
+
165
+ t.text :caption
166
+
167
+
168
+
169
+ t.timestamps
170
+
171
+ end
172
+
173
+ end
174
+
175
+ end
176
+
177
+
178
+
179
+ class CreatePostImage01s < ActiveRecord::Migration[5.1]
180
+
181
+ def change
182
+
183
+ create_table :post_image01s do |t|
184
+
185
+ t.references :post, foreign_key: true
186
+
187
+ t.string :name
188
+
189
+
190
+
191
+ t.timestamps
192
+
193
+ end
194
+
195
+ end
196
+
197
+ end
198
+
199
+ ```
200
+
201
+ モデル
202
+
203
+ ```ここに言語を入力
204
+
205
+ class Post01< ApplicationRecord
206
+
207
+ belongs_to :user01
208
+
209
+ has_many :post_image01s, dependent: :destroy
210
+
211
+ end
212
+
213
+
214
+
215
+ class PostImage01 < ApplicationRecord
216
+
217
+ belongs_to :post01
218
+
219
+ end
220
+
221
+
222
+
223
+ class User01 < ApplicationRecord
224
+
225
+ #リレーション(1:N)
226
+
227
+ has_many :post01s
228
+
229
+ #データの保存前に、パスワードを暗号化するメゾット(convert_passworc)を実行するよう設定
230
+
231
+ before_save :convert_password
232
+
233
+
234
+
235
+ #パスワードを暗号化するメゾット
236
+
237
+ def convert_password
238
+
239
+ self.password = User01.generate_password(self.password)
240
+
241
+ end
242
+
243
+
244
+
245
+ #パスワードをmd5に変換するメゾット
246
+
247
+ def self.generate_password(password)
248
+
249
+ #パスワードに適当な文字列を付加して暗号化する
250
+
251
+ salt = "h!hgamcRAdh38bajhvgai17ysvb"
252
+
253
+ Digest::MD5.hexdigest(salt + password)
254
+
255
+ end
256
+
257
+
258
+
259
+ #バリテーション
260
+
261
+ VALID_EMAIL_REGEX = /\A[\w\-.]+@[a-z\d\-.]+.[a-z]+\z/i
262
+
263
+ validates :name, presence: true
264
+
265
+ validates :email, presence: true, format: {with: VALID_EMAIL_REGEX}, uniqueness: true
266
+
267
+ validates :password, presence: true, length:{minimum: 6}
268
+
269
+ end
270
+
271
+
272
+
273
+ 宜しくお願い致します。
274
+
275
+
276
+
277
+ ```