Quantcast
Channel: tyoshikawa1106のブログ
Viewing all articles
Browse latest Browse all 1436

SFDC:RemoteActionとnot found on controllerエラー

$
0
0

RemoteActionの処理を実行時に次のようなエラーに遭遇しました。
f:id:tyoshikawa1106:20160305135529p:plain

Method 'getAccount' not found on controller S1AccountController. Check spelling, method exists, and/or method is RemoteAction annotated.


S1AccountControllerクラスのgetAccountメソッドが見つかりません..というエラーです。


このクラスもこのメソッドもちゃんと用意されているし、別の処理で実際に動いているのに。。と思ったのですが、原因は引数にセットされている値でした。


今回エラーが出た時の処理は、レコードIDを条件に対象レコードを取得するという処理です。
f:id:tyoshikawa1106:20160305135920p:plain:w300


このレコードIDはAngularJSの『$routeParams.id』をつかって取得しようとしました。
f:id:tyoshikawa1106:20160305140024p:plain


$routeParams.idは値が存在しない場合、NULLでもブランク値でもなく『undefined』がセットされます。この『undefined』をRemoteActionの引数として渡そうとしたことでエラーが発生していました。
f:id:tyoshikawa1106:20160305140627p:plain


次のように値の存在判定をして、『undefined』の場合はNULLをセットするようにしておけば、このエラーを回避できます。
f:id:tyoshikawa1106:20160305140315p:plain


RemoteActionの処理でnot found on controllerというエラーが発生した場合はこのあたりもチェックしてみると良さそうです。


Viewing all articles
Browse latest Browse all 1436

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>