質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1089閲覧

rails で投稿が反映されません

bsin11

総合スコア4

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/07/26 04:09

編集2020/07/26 05:07

railsで掲示板を作成しようとしているのですが、
投稿ボタンを押しても投稿が反映されません。
modelは作成しており、エラーの表示は出てきません。
よろしくお願い致します。

ルーティング

get 'posts/kyusyu' => "posts#kyusyu" post "posts/kyusyucreate" => "posts#kyusyucreate"

コントローラー

def kyusyu @kyusyuposts=Kyusyupost.all end def kyusyucreate @kyusyupost=Kyusyupost.new(content: params[:content]) @kyusyupost.save @kyusyuposts=Kyusyuposts.all redirect_to("/posts/kyusyu") end

ビュー

<div class="uni-title"> <h1>九州大学</h1> </div> <div class="uni-post"> <%= form_tag("/posts/kyusyucreate") do %> </div> <div class="form"> <textarea name="content"></textarea> <input type="submit" value="投稿"> </div> <% end %> </div> <div class="index"> <% @kyusyuposts.each do |kyusyupost| %> <div class="index-item"> <%= kyusyupost.content %> </div> <% end %> </div>

投稿ボタンを押した時のdevelopment.log

Started GET "/posts/kyusyu" for 127.0.0.1 at 2020-07-26 05:00:53 +0000 Processing by PostsController#kyusyu as HTML Rendering posts/kyusyu.html.erb within layouts/application Kyusyupost Load (0.3ms) SELECT "kyusyuposts".* FROM "kyusyuposts" ↳ app/views/posts/kyusyu.html.erb:14 Rendered posts/kyusyu.html.erb within layouts/application (Duration: 5.0ms | Allocations: 772) [Webpacker] Everything's up-to-date. Nothing to do Completed 200 OK in 13ms (Views: 11.3ms | ActiveRecord: 0.3ms | Allocations: 4208)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

def kyusyucreate では @kyusyupost.save に成功しようと失敗しようと
redirect_to("/posts/kyusyu") しています。ここにエラーが有ったときに表示するようにviewができていますか?
いないのでは。
成否を確認し、失敗の原因を掴みましょう

  1. log/development.logを見るとエラーの時の原因があります。
  2. @kyusyupost.save! と ! をつけると、失敗した時に停止し、ブラウザー上になにか表示してくれます

投稿2020/07/26 04:18

winterboum

総合スコア23401

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bsin11

2020/07/26 04:30

迅速な回答ありがとうございます。 development.logを見たのですが、よく分かりませんでした。 !をつけて投稿ボタンをクリックして見たのですが、特に変化はありませんでした。 私の試した方法が間違えているのではないかと考えています。 知識不足で申し訳ありません。もう少し詳細な情報を補足して頂きたいです。 ちなみに redirect_to は、投稿ボタンのある同じページをリンク先にしています。
winterboum

2020/07/26 04:48

@kyusyupost.save の後に @kyusyuposts=Kyusyupost.all を入れて見てください。それでだめだったら腰据えて見ましょう。 でそのために 1. 見やすくするために質問欄手直ししてください。いまcodeがベタになってて読みにくいです。前後に ```(半角逆コーテーション3連発)だけの行を入れて挟んでください 2. 投稿ボタンを押した時のlogをStartedから次のStartedまで を載せてください
bsin11

2020/07/26 05:03

補足ありがとうございます。 その通りにさせて頂きましたので、引き続きよろしくお願い致します。
winterboum

2020/07/26 06:26

@kyusyupost.save の後に @kyusyuposts=Kyusyupost.al 追加 でだめでした?
winterboum

2020/07/26 06:27

投稿ボタンを押した時のdevelopment.log はちがいますね。これはcreateの最後に redirectしたときの、です そのまえに GETでなくPOSTのがあると思います
bsin11

2020/07/26 14:57

回答ありがとうございます。 Kyusyupost.allは試したのですが、改善されませんでした。 POSTのものが無く、遡ってもGETのものばかりです。 POSTの処理が為されていないのかもしれません。
bsin11

2020/07/26 14:58

ちなみにPaizacloudで行なっています。
winterboum

2020/07/26 22:31

form_tag("/posts/kyusyucreate"、method: :post ) にしてみて
bsin11

2020/07/27 04:48

それで解決できました! 迅速な対応ありがとうございました????
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問