前提・実現したいこと
インスタンス先で呼び出し元の処理を止めることは可能でしょうか?
ご教示をお願い致します。
該当のソースコード
ruby
1class SampleController < ApplicationController 2 def index 3 myerror = MyError.new(self) 4 myerror.sys("メッセージ") 5 render plain: "テスト2" 6 end 7end
ruby
1class MyError 2 def initialize(this) 3 @this = this # viewのコントローラ 4 end 5 6 def sys(msg) 7 @this.render plain: msg 8 end 9end
現状だと、myerror.sys("メッセージ")の中でrenderした後に、
render plain: "テスト2"が動いてエラーが起きてしまいます。
ruby
1 myerror.sys("メッセージ") 2 return 3 render plain: "テスト2"
とすれば、エラーは防げることはわかりますが、
このreturnをmyerror.sys("メッセージ")の中で呼んで、呼び出し元の後続処理を止めることはできないでしょうか?
試したこと
下記のようなreturnがしたかったのですが、エラーになってしまいました。
ruby
1class MyError 2 3 def initialize(this) 4 @this = this # viewのコントローラ 5 end 6 7 def sys(msg) 8 @this.render plain: msg 9 @this.return 10 end 11end
・エラーメッセージ。
undefined method `return' for #<SampleController:0x000000000914f128>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/18 09:02