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

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

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

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

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

Q&A

解決済

1回答

1300閲覧

HerokuのアプリがiPhone上だと画面遷移に失敗する

Yuki0222

総合スコア10

Ruby on Rails 5

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

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

0グッド

0クリップ

投稿2018/10/27 11:55

前提・実現したいこと

Railsで作ったレシピ投稿アプリをherokuへデプロイしました。
「レシピ投稿→成功→ユーザー画面に遷移、失敗→レシピ投稿画面に戻す」を実現したいです。
実装した投稿機能は、PC上では正常に動きます。
しかしなぜかiPhone上だと、データベースへの保存は無事成功し、画面遷移だけ失敗します。

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

https://~~/recipes/create

「We're sorry, but something went wrong.」

と出ます。
エラーメッセージは確認できませんでした。

該当のソースコード(必要な箇所だけ抜粋しています)

ルーティング
routes.rb

Ruby

1 get "/recipes/new" => "recipes#new" 2 post "/recipes/create" => "recipes#create" 3 get "/recipes/:id" => "recipes#show"

コントローラー
recipes_controller.rb

Ruby

1 @recipe = Recipe.new( 2 title: params[:title], 3 comment: params[:comment], 4 category: params[:category], 5 minutes: params[:minutes], 6 user_id: @current_user.id 7 ) 8 9       #省略 10 11 if @recipe.save 12 redirect_to("/users/#{@user.id}") 13 else 14 render("recipes/new") 15 end

ビュー
recipes/new.html.erb

<%= form_tag("/recipes/create", {multipart: true}) do %> <h3>Step1</h3> <section> <p>タイトルをいれる</p> <textarea name="title" class="title-window"></textarea> <p>写真をいれる</p> <input class="img-window" type="file" name="top_image"> </section>                   #省略 <p>おすすめポイント</p> <textarea class="comment" name="comment"></textarea> </section> <input class="recipe-submit" type="submit" value="投稿する"> <% end %>

モデル
recipe.rb

Ruby

1class Recipe < ApplicationRecord 2 3 def user 4 return User.find_by(id: self.user_id) 5 end 6 7end

試したこと

恐らくですが、レシピ投稿後に、/recipes/createパスによる"recipes#create"アクションが再度実行され、paramsを持たないフォームが送信されてしまって(あるいはpostメソッドだから)エラーが発生しているようです。
実際そうだとして、なぜ(PC上では正常に動くのに)iPhoneではエラーが発生するのかわからず解消できずにいます。
Herokuの特性によるものだと思い「Heroku iPhone エラー」などと調べてみましたが、該当するものは見つかりませんでした。
ご存知の方いらっしゃればよろしくお願いします。

補足情報

説明不足な点ございましたら、お手数ですがご指摘いただけると嬉しいです。

ruby 2.5.0
Rails 5.2.1
heroku 7.16.5

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

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

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

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

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

guest

回答1

0

自己解決

自己解決しました。
投稿機能のバリデーションに引っかかって画面遷移に失敗していただけでした。。。
お騒がせしました。

投稿2018/12/19 06:40

Yuki0222

総合スコア10

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問