質問編集履歴
3
情報の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -79,6 +79,8 @@
|
|
79
79
|
|
80
80
|
というエラーが発生します。avatarはUserモデルに与えている属性で、ユーザーのプロフィール画像のstringを持ちます。Imagepostモデルは投稿するコンテンツ(text)と画像の名前(string)を属性に持ちます。
|
81
81
|
|
82
|
+
画像の管理はcarrierwaveとmini_magickを使用しています。
|
83
|
+
|
82
84
|
デバッグしたところ、```if @imagepost.save```の部分に問題があることがわかり色々試したのですが、解決しません。
|
83
85
|
|
84
86
|
current_userはavatar属性を持っていますが、ここでsaveするのは@imagepostなのでavatarは関係ないはずです。それなのになぜimagepostにもavatarが必要みたいなエラーがでるのでしょうか?
|
@@ -97,6 +99,8 @@
|
|
97
99
|
### 補足情報(FW/ツールのバージョンなど)
|
98
100
|
|
99
101
|
Rails5.1.6
|
102
|
+
carrierwave
|
103
|
+
mini_magick
|
100
104
|
|
101
105
|
###createを実行するview側のファイル
|
102
106
|
|
2
ギットハブのリンクを追加しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -134,4 +134,10 @@
|
|
134
134
|
}
|
135
135
|
});
|
136
136
|
</script>
|
137
|
-
```
|
137
|
+
```
|
138
|
+
|
139
|
+
###2020/02/02追記
|
140
|
+
|
141
|
+
現在エラーがでているアプリはGithubで管理しています。 ここにコードを片っ端から貼るよりも、リンクを貼ったほうが早いと判断しました。
|
142
|
+
|
143
|
+
[現在制作中のアプリのレポジトリ](https://github.com/hidayoshi/Instravel)
|
1
ファイルを追加しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,11 +47,34 @@
|
|
47
47
|
|
48
48
|
```
|
49
49
|
|
50
|
-
このコードを実行すると
|
50
|
+
このコードを実行し、フォームに文字を入力した状態で新しい投稿を作成しようとすると
|
51
51
|
|
52
52
|
```
|
53
53
|
ActiveModel::MissingAttributeError in ImagepostsController#create
|
54
54
|
can't write unknown attribute `avatar`
|
55
|
+
Extracted source (around line #11):
|
56
|
+
|
57
|
+
9 def create
|
58
|
+
10 @imagepost = current_user.imageposts.build(imagepost_params)
|
59
|
+
11 if @imagepost.save
|
60
|
+
12 flash[:success] = 'Imagepost created!'
|
61
|
+
13 redirect_to root_url
|
62
|
+
14 else
|
63
|
+
|
64
|
+
Rails.root: /Users/Toshiki/Desktop/portfolio/instravel
|
65
|
+
|
66
|
+
Application Trace | Framework Trace | Full Trace
|
67
|
+
app/controllers/imageposts_controller.rb:11:in `create'
|
68
|
+
Request
|
69
|
+
Parameters:
|
70
|
+
|
71
|
+
{"utf8"=>"✓", "authenticity_token"=>"DaWd/yEYD6uQGppfdGgW99PSyqcKgxDkWQOVlcW+ZX4CU/cs3g/N52uGuK0cm3rJDAj7DTnPs4Ipt5Q7ZiBoEQ==", "imagepost"=>{"content"=>"a"}, "commit"=>"Post"}
|
72
|
+
Toggle session dump
|
73
|
+
Toggle env dump
|
74
|
+
Response
|
75
|
+
Headers:
|
76
|
+
|
77
|
+
None
|
55
78
|
```
|
56
79
|
|
57
80
|
というエラーが発生します。avatarはUserモデルに与えている属性で、ユーザーのプロフィール画像のstringを持ちます。Imagepostモデルは投稿するコンテンツ(text)と画像の名前(string)を属性に持ちます。
|
@@ -64,8 +87,51 @@
|
|
64
87
|
|
65
88
|
|
66
89
|
### 試したこと
|
67
|
-
``` attr_accessor :avatar```で属性を与えてみたがダメだった。
|
68
90
|
|
91
|
+
```
|
92
|
+
attr_accessor :avatar
|
93
|
+
```
|
94
|
+
でImagepostコントローラーに属性を与えてみたがダメだった。
|
95
|
+
|
96
|
+
|
69
97
|
### 補足情報(FW/ツールのバージョンなど)
|
70
98
|
|
71
|
-
Rails5.1.6
|
99
|
+
Rails5.1.6
|
100
|
+
|
101
|
+
###createを実行するview側のファイル
|
102
|
+
|
103
|
+
form_withで送信します。
|
104
|
+
|
105
|
+
|
106
|
+
```_imagepost_form.html.erb
|
107
|
+
<%= form_with model: @imagepost, local: true do |f| %>
|
108
|
+
<div class="card mb-3">
|
109
|
+
<div class="card-header">
|
110
|
+
<span class="font-weight-bold">
|
111
|
+
HOME
|
112
|
+
</span>
|
113
|
+
</div>
|
114
|
+
<div class="card-body">
|
115
|
+
<p class="card-text">
|
116
|
+
<%= render 'shared/error_messages', object: f.object %>
|
117
|
+
<div class="form-group">
|
118
|
+
<%= f.text_area :content, placeholder: "Compose new imagepost...",
|
119
|
+
class: "form-control w-100" %>
|
120
|
+
</div>
|
121
|
+
<div class="form-group">
|
122
|
+
<%= f.file_field :picture, class: "form-control-file" %>
|
123
|
+
</div>
|
124
|
+
</p>
|
125
|
+
<%= f.submit "Post", class: "btn btn-primary" %>
|
126
|
+
</div>
|
127
|
+
</div>
|
128
|
+
<% end %>
|
129
|
+
<script type="text/javascript">
|
130
|
+
$('#imagepost_picture').bind('change', function() {
|
131
|
+
var size_in_megabytes = this.files[0].size/1024/1024;
|
132
|
+
if (size_in_megabytes > 5) {
|
133
|
+
alert('Maximum file size is 5MB. Please choose a smaller file.');
|
134
|
+
}
|
135
|
+
});
|
136
|
+
</script>
|
137
|
+
```
|