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

質問編集履歴

3

追記2を追加

2017/04/23 06:16

投稿

DaiAoki
DaiAoki

スコア67

title CHANGED
File without changes
body CHANGED
@@ -109,4 +109,10 @@
109
109
  </div>
110
110
  <%= f.submit "投稿", class: "btn btn-green" %>
111
111
  <% end %>
112
- ```
112
+ ```
113
+
114
+ ---
115
+
116
+ 【追記2】
117
+ Turbolinksが原因でブラウザが更新されず、
118
+ $(document).ready()が期待通り動作しないようでした。

2

コード修正

2017/04/23 06:16

投稿

DaiAoki
DaiAoki

スコア67

title CHANGED
File without changes
body CHANGED
@@ -74,4 +74,39 @@
74
74
  具体的な解決策が思いつかないという状況です。
75
75
 
76
76
  お詳しい方、どうか力を貸してください。
77
- よろしくお願いします。
77
+ よろしくお願いします。
78
+
79
+
80
+
81
+ ---
82
+
83
+ 【追記】
84
+ **すみません、表示ロジックを変更したので追記します。**
85
+ これまでは、前述したように一覧画面と投稿フォームを横並びの同一コントローラ・同一メソッド・同一ビューに記述していましたが、投稿フォームを同一コントローラ内の別のメソッド・別のビューに分離しました。
86
+ その結果、画面遷移した直後は変わらずタグフォーム部分が表示されないのですが、リロード(ブラウザを再読み込み)すると表示されるという状態になりました。
87
+
88
+ 下記に変更後のソースコードを記載します。
89
+ ```Ruby
90
+ ■static_pages_controller.rb
91
+ def contibute
92
+ if logged_in?
93
+ #本当はここで下記のようにform_forに渡す空のモデルオブジェクトを生成したいが、エラーになってしまうため、viewに直接記述して暫定対応。
94
+ #余裕のある時に見直す
95
+ #@bookpost = current_user.bookposts.build
96
+ else
97
+ redirect_to signup_path
98
+ end
99
+ end
100
+
101
+
102
+ ■view(フォーム)
103
+ <!-- 本当はform_forの引数にはコントローラで用意した@bookpostを渡すべき -->
104
+ <%= form_for(current_user.bookposts.build) do |f| %>
105
+ <label>タグ・カテゴリー</label>
106
+ <ul id="ctg-tags"></ul>
107
+ <div class="field">
108
+ <%= f.text_area :content %>
109
+ </div>
110
+ <%= f.submit "投稿", class: "btn btn-green" %>
111
+ <% end %>
112
+ ```

1

誤記

2017/04/22 13:39

投稿

DaiAoki
DaiAoki

スコア67

title CHANGED
File without changes
body CHANGED
@@ -10,8 +10,7 @@
10
10
  ■static_pages_controller.rb
11
11
  def home
12
12
  if logged_in?
13
- @bookpost = current_user.bookposts.build
13
+ @bookpost = current_user.bookposts.build
14
- flash[:success] = params[:selected_tag].present? ? Bookpost.tagged_with(params[:selected_tag]) : current_user.bookposts.build
15
14
  @feed_items = params[:selected_tag].present? ? current_user.feed.tagged_with(params[:selected_tag]).paginate(page: params[:page])
16
15
  : current_user.feed.paginate(page: params[:page])
17
16
  end