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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Q&A

解決済

1回答

772閲覧

Rails のform_forでデータを保存できない

NatsukiKataoka1

総合スコア8

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

0グッド

0クリップ

投稿2020/02/13 07:30

前提・実現したいこと

Ruby On Rails の Form_for を使ってデータベースに保存しようとしています。しかし、submitボタンを押しても何も反応がありません。もしよければ間違っているところを教えてもらえると嬉しいです。

controller

def new @party_new = WelcomeParty.new end def create @party_new = WelcomeParty.new(set_circle) respond_to do |format| if @party_new.save format.html { render :date } format.json { render :show, status: :created, location: @party_new } else format.html { render :new } format.json { render json: @party_new.errors, status: :unprocessable_entity } end end end private def set_circle params.require(:welcome_party).permit(:name,:date,:place, :content, :fee, :belonging, :comment) end

html.erb

<%= form_for @party_new, url: welcome_parties_new_path do |f| %> <br> <%= f.label :name %> <%= f.text_field :name %> <br> <%= f.label :date %> <%= f.date_select :date %> <br> <%= f.label :place %> <%= f.text_field :place %> <br> <%= f.label :content %> <%= f.text_area :content %> <br> <%= f.label :fee %> <%= f.text_field :fee %> <br> <%= f.label :belonging %> <%= f.text_field :belonging %> <br> <%= f.label :comment %> <%= f.text_field :comment %> <div class="actions"> <%= f.submit %> </div> <% end %>

Routes

post 'welcome_parties/new', to:'dashboard#create'

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Rails 6では、フォーム送信はデフォルトでAjaxとなります。

ブラウザ遷移させたい場合は、local: trueという指定が必要です。

この場の会話を通じて解決してくださった皆様のおかげです。ありがとうございます。

投稿2020/02/13 07:46

編集2020/02/13 08:14
maisumakun

総合スコア145183

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

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

NatsukiKataoka1

2020/02/13 07:51

こういうことでしょうか? <%= form_for @party_new, url: welcome_parties_new_path, local: true do |f| %> それでもうまく行きません、、、
Mugheart

2020/02/13 07:52

> フォーム送信はデフォルトでAjax 多分それはRails6かどうかではなくform_withを使ったフォームに限った話だと思います。
maisumakun

2020/02/13 07:52

> それでもうまく行きません、、、 送信ボタンを押しても、ページ遷移すらせずに無反応のままですか?
NatsukiKataoka1

2020/02/13 07:52

自分はcontrollerの方が間違っているような気がするんですが、、
maisumakun

2020/02/13 07:53

> form_withを使ったフォームに限った話だと思います。 おっと、失礼しました。
maisumakun

2020/02/13 07:53

ブラウザにエラーログなどはでていませんか?
NatsukiKataoka1

2020/02/13 07:56

出ていないです。自分はcontrollerの@party_new.saveがfalseになっていると思います。なのでsaveに失敗していると思うのですが、、、 if @party_new.save format.html { render :date } format.json { render :show, status: :created, location: @party_new } else format.html { render :new } format.json { render json: @party_new.errors, status: :unprocessable_entity } end
Mugheart

2020/02/13 07:57

タイトル見た感じそもそもデータが保存されてないのであれば format.html { render :new } が実行されて再度フォーム画面が描画されるから 何の変化もないように感じてるだけなような気がしますね...。
maisumakun

2020/02/13 07:57

成功した側のrender :dateとは何でしょうか?
NatsukiKataoka1

2020/02/13 08:00

それは間違いです、、newにしてもうまく行きません、、
NatsukiKataoka1

2020/02/13 08:01

データが保存されていないからelse文の方が実行しているのだと思います、、
Mugheart

2020/02/13 08:02

これは質問の仕方が悪いと思うんですが、要はなぜ送信したデータがバリデーションで弾かれるかわからないということですよね? if @party_new.save の部分 if @party_new.save! のように「!」つけて実行してもらえますか? そうすれば例外がログに吐き出されると思いますので。
NatsukiKataoka1

2020/02/13 08:04

すみません! Validation failed: Circle must exist と出ました
NatsukiKataoka1

2020/02/13 08:06

ActiveRecord::RecordInvalid in DashboardController#create これも出ました!
Mugheart

2020/02/13 08:06

WelcomePartyというのはCircleの子レコードですか? 親が存在しないから弾かれてるように見受けられます。
NatsukiKataoka1

2020/02/13 08:08

待ってそうでした。ありがとうございます。できました。まじで感謝です。
Mugheart

2020/02/13 08:11

あーBA選んじゃったか。 maisumakun さんお手数ですけど いい感じに解答の編集をお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問