###前提・実現したいこと
ツイッターライクなマイクロソフトを投稿できるサービスを作成しています。
Railsアプリケーションで発生しているタイトルのエラーを解消したいと思っています。
Rails 4.2.2
Ruby 2.0.0
で開発をしています。
###発生している問題・エラーメッセージ
下記のエラーが発生しています。
SystemStackError (stack level too deep): .bundle/gems/actionpack-4.2.2/lib/action_dispatch/middleware/reloader.rb:79
エラーは下記の画像の画面で、「POST」ボタンをタップした時に発生します。
以下、「POST」ボタンをタップした時のエラーを含めたログです。
Started POST "/microposts" for ::1 at 2016-11-26 15:36:03 +0900 ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations" Processing by MicropostsController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"*****", "micropost"=>{"content"=>"テスト"}, "commit"=>"Post"} Completed 500 Internal Server Error in 11ms (ActiveRecord: 0.0ms) SystemStackError (stack level too deep): .bundle/gems/actionpack-4.2.2/lib/action_dispatch/middleware/reloader.rb:79
###該当のソースコード
マイクロポストのcontorollerは下記のように設定したいます。
ruby
1class MicropostsController < ApplicationController 2 before_action :logged_in_user, only: [:create, :destroy] 3 before_action :current_user, only: :destroy 4 5 def create 6 @micropost = current_user.microposts.build(micropost_params) 7 if @micropost.save 8 flash[:success] = "Micropost created!" 9 redirect_to root_url 10 else 11 @feed_items [] 12 render 'static_pages/home' 13 end 14 end 15 16 def destroy 17 @micropost.destroy 18 flash[:success] = "Micropost deleted" 19 redirect_to request.referrer || root_url 20 end 21 22 private 23 24 def micropost_params 25 params.require(:micropost).permit(:content, :picture) 26 end 27 28 def current_user 29 @micropost = current_user.microposts.find_by(id: params[:id]) 30 redirect_to root_url if @micropost.nil? 31 end 32end 33
###試したこと
まず、エラーに記載されている該当箇所をコメントアウトしてみました。
エラーに記載されている該当箇所のメソッドは下記のようにしています。
def call(env) @validated = @condition.call prepare! response = @app.call(env) response[2] = ::Rack::BodyProxy.new(response[2]) { cleanup! } response rescue Exception cleanup! raise end def prepare! #:nodoc: run_callbacks :prepare if validated? end def cleanup! #:nodoc: run_callbacks :cleanup if validated? ensure @validated = true end private def validated? #:nodoc: @validated end end
結果、エラーに変化がなかったので、下記のURLを参考にしてrmagickのgemを追加し、bundle installしてみました。
http://stackoverflow.com/questions/22206350/stack-level-too-deep-when-using-carrierwave-versions
こちらもエラーに変化ありませんでした。
その他必要な情報あればフィードバックいただけると助かります!

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/12 13:07