質問編集履歴

3

追記2を追加

2017/04/23 06:16

投稿

DaiAoki
DaiAoki

スコア67

test CHANGED
File without changes
test CHANGED
@@ -221,3 +221,15 @@
221
221
  <% end %>
222
222
 
223
223
  ```
224
+
225
+
226
+
227
+ ---
228
+
229
+
230
+
231
+ 【追記2】
232
+
233
+ Turbolinksが原因でブラウザが更新されず、
234
+
235
+ $(document).ready()が期待通り動作しないようでした。

2

コード修正

2017/04/23 06:16

投稿

DaiAoki
DaiAoki

スコア67

test CHANGED
File without changes
test CHANGED
@@ -151,3 +151,73 @@
151
151
  お詳しい方、どうか力を貸してください。
152
152
 
153
153
  よろしくお願いします。
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+ ---
162
+
163
+
164
+
165
+ 【追記】
166
+
167
+ **すみません、表示ロジックを変更したので追記します。**
168
+
169
+ これまでは、前述したように一覧画面と投稿フォームを横並びの同一コントローラ・同一メソッド・同一ビューに記述していましたが、投稿フォームを同一コントローラ内の別のメソッド・別のビューに分離しました。
170
+
171
+ その結果、画面遷移した直後は変わらずタグフォーム部分が表示されないのですが、リロード(ブラウザを再読み込み)すると表示されるという状態になりました。
172
+
173
+
174
+
175
+ 下記に変更後のソースコードを記載します。
176
+
177
+ ```Ruby
178
+
179
+ ■static_pages_controller.rb
180
+
181
+ def contibute
182
+
183
+ if logged_in?
184
+
185
+ #本当はここで下記のようにform_forに渡す空のモデルオブジェクトを生成したいが、エラーになってしまうため、viewに直接記述して暫定対応。
186
+
187
+ #余裕のある時に見直す
188
+
189
+ #@bookpost = current_user.bookposts.build
190
+
191
+ else
192
+
193
+ redirect_to signup_path
194
+
195
+ end
196
+
197
+ end
198
+
199
+
200
+
201
+
202
+
203
+ ■view(フォーム)
204
+
205
+ <!-- 本当はform_forの引数にはコントローラで用意した@bookpostを渡すべき -->
206
+
207
+ <%= form_for(current_user.bookposts.build) do |f| %>
208
+
209
+ <label>タグ・カテゴリー</label>
210
+
211
+ <ul id="ctg-tags"></ul>
212
+
213
+ <div class="field">
214
+
215
+ <%= f.text_area :content %>
216
+
217
+ </div>
218
+
219
+ <%= f.submit "投稿", class: "btn btn-green" %>
220
+
221
+ <% end %>
222
+
223
+ ```

1

誤記

2017/04/22 13:39

投稿

DaiAoki
DaiAoki

スコア67

test CHANGED
File without changes
test CHANGED
@@ -22,9 +22,7 @@
22
22
 
23
23
  if logged_in?
24
24
 
25
- @bookpost = current_user.bookposts.build
25
+ @bookpost = current_user.bookposts.build
26
-
27
- flash[:success] = params[:selected_tag].present? ? Bookpost.tagged_with(params[:selected_tag]) : current_user.bookposts.build
28
26
 
29
27
  @feed_items = params[:selected_tag].present? ? current_user.feed.tagged_with(params[:selected_tag]).paginate(page: params[:page])
30
28