railsさて、今回もWebのバックエンドのお話になります。apiに登録した際に発行されるアカウントサービスEメールアドレス、keyファイル、そして情報を取得したいサイトのViewIDが必要になります。これを個人によって動的に変化させて、それぞれのサイトのapiをワンクリックで叩けるようにしたかったのですが・・・メソッドに引数が渡せてない??railsでは、フォームなんかから入力してきた値をcontrollerで受け取り、コントローラー内のアクションでメソッドに受け渡すという処理をします。今回は、GoogleApiというクラスの中のinitializeメソッドに引数を渡すことにしてプログラムを組んでいました。initializeメソッドっていうのは、クラス.newが呼ばれた時一番最初に無条件で実行されるアクションみたいなやつです。他のメソッドへの引数の受け渡しと書き方は同じなので、api=GoogleApi.new(引数)みたいに書きます。そこで組んでいたのが以下のコードです。0)のエラーが出ました。調べてみると、呼び出し側の引数の数と、メソッド側の引数の数が一致していない時に起こるエラーらしいです。今回は@idというのを呼び出し側の引数として与え、メソッド側でもidという引数を受け取るようにしてあるので数はあってるはず。結論から言うと変数に引数を渡していなかった解決法の結論から述べると、引数を変数に受け渡していなかったわけですね。引数を直接メソッド内で使うのではなく、一度@id_getなんかの変数に受け渡してから@id_getを使うようにすると解決しました。そのままでも使えるはずなんですけどしっくりきませんね・・・また、上のコードではIDという定数をメソッド内で定義してそこに代入しようとしていますが、これもエラーが出ます。メソッド内では定数定義はできないのと、定数というのは一度決めると他の値を代入して上書きというのができないそうです。よって書き直したコードは以下になります。end.....まとめ以外と小さいミスでハマっちゃうんですよね。バックエンドをいじってると小さなミスで動かなくなった時がすごい恐怖です。コメントをキャンセルメールアドレスが公開されることはありません。Themeisle.。