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

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

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

Ruby on Rails 7は、2021年12月に正式リリースされました。Ruby on Railsのバージョン7であり、フロントエンド開発環境を大幅に刷新。Node.jsを用いない構成がデフォルトになっています。

Q&A

解決済

投稿時の条件分岐の設定

take20998267
take20998267

総合スコア3

Ruby on Rails 7

Ruby on Rails 7は、2021年12月に正式リリースされました。Ruby on Railsのバージョン7であり、フロントエンド開発環境を大幅に刷新。Node.jsを用いない構成がデフォルトになっています。

1回答

0グッド

0クリップ

183閲覧

投稿2022/11/27 14:10

編集2022/11/27 14:16

前提

投稿機能の実装

実現したいこと

保存できた場合とできなかった場合の
移動さきを指定

発生している問題・エラーメッセージ

新規投稿時保存されないときでもroot_pathに移動してしまう 編集後、詳細ページにいかず、root_pathに行ってしまう

該当のソースコード

PrototypesController

1class PrototypesController < ApplicationController 2 before_action :set_prototype, only: [:show, :edit] 3 def index 4 @user = current_user.name 5 @prototypes = Prototype.all 6 end 7 8 def new 9 @prototype = Prototype.new 10 end 11 12 def create 13 Prototype.create(prototype_params) 14 if 15 redirect_to root_path 16 else 17 render "form" 18 end 19end 20 21 def show 22 23 end 24 25 def edit 26 27 end 28 29 def update 30 @prototype = Prototype.find(params[:id]) 31 if @prototype.update(prototype_params) 32 redirect_to prototypes_path(@prototype.id) 33 else 34 render "edit" 35 end 36 end 37 38 39 private 40 def prototype_params 41 params.require(:prototype).permit(:title, :concept, :image, :catch_copy).merge(user_id: current_user.id) 42 end 43 def set_prototype 44 @prototype = Prototype.find(params[:id]) 45 end 46 end

_form.html.erb

1<%= form_with model: @prototype, local: true do |f|%> 2 <div class="field"> 3 <%= f.label :title, "プロトタイプの名称" %><br /> 4 <%= f.text_field :title, id:"prototype_title" %> 5 </div> 6 7 <div class="field"> 8 <%= f.label :catch_copy, "キャッチコピー" %><br /> 9 <%= f.text_area :catch_copy, class: :form__text, id:"prototype_catch_copy" %> 10 </div> 11 12 <div class="field"> 13 <%= f.label :concept, "コンセプト" %><br /> 14 <%= f.text_area :concept, class: :form__text, id:"prototype_concept" %> 15 </div> 16 17 <div class="field"> 18 <%= f.label :image, "プロトタイプの画像" %><br /> 19 <%= f.file_field :image, id:"prototype_image" %> 20 </div> 21 22 <div class="actions"> 23 <%= f.submit "保存する", class: :form__btn %> 24 </div> 25<% end %>

prototype.rb

1class Prototype < ApplicationRecord 2 belongs_to :user 3 has_many :comments 4 has_one_attached :image 5 6 validates :title, presence: true 7 validates :catch_copy, presence: true 8 validates :concept, presence: true 9 validates :image, presence: true 10end
### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

0

ベストアンサー

ruby

1 if 保存できた場合() 2 redirect_to root_path 3 else 4 render "form" 5 end

投稿2022/11/27 14:13

unti

総合スコア72

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

take20998267

2022/11/27 14:25

回答ありがとうございます 修正後このエラーが出ました。 ご教授お願いします Template is missing
unti

2022/11/27 14:27

formのテンプレートを作成しましょう

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Ruby on Rails 7

Ruby on Rails 7は、2021年12月に正式リリースされました。Ruby on Railsのバージョン7であり、フロントエンド開発環境を大幅に刷新。Node.jsを用いない構成がデフォルトになっています。