[前][次][番号順一覧][スレッド一覧]

rails:3663

From: 本杉圭悟 <motosugi.keigo@j...>
Date: Mon, 14 Nov 2011 09:08:42 +0900
Subject: [rails:3663] Re: Coffee Script におけるクラス定義について教えてください

こんにちは、本杉です。

On Thu, 10 Nov 2011 17:04:10 +0900
OZAWA Sakuro <sakuro@2...> wrote:

> その下のコードで具体的にどういう問題が発生しているのかよく分からなかったのですが、
> 試しに index.html.erb の中に書いたコードは実行されましたので、
> index.js.erb の中のコードが実行されないという質問と認識しました。
> 正しいでしょうか?

問題点が明らかになるよう前回の内容を修正しましたので、再度質問させてください。

当初の問題
----------

最初に CoffeeScript のクラスを以下の様に記述したら、html.erb と js.erb で呼び出
すことができませんでした。

クラス定義
* app/assets/javascripts/example.js.coffee

    class Example
      method: () ->
        <処理>

ロード時の呼び出し(失敗)
* app/views/example/index.html.erb

    [...]
    <%= javascript_tag do %>
      ex = new Example;
      ex.method();
    <% end %>
    [...]

コールバック時の呼び出し(失敗)
* app/views/example/index.js.erb Ajax

    ex = new Example;
    ex.method();

自己解決法
----------

そこで、以下の★のように Window オブジェクトの変数としてクラスを格納したら、
html.erb, js.erb 共に呼び出せるようになりました。

クラス定義
* app/assets/javascripts/example.js.coffee

    class Example
      method: () ->
        <処理>
    # 定義したクラスを Window の変数として設定 ★
    @Example = Example

質問
----

手さぐりで上記の様に書いたのですが、この書き方が一般的なのか自信がありません。
もっと良い書き方があれば教えてください。

よろしくお願いします。

--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      3658 2011-11-10 06:10 [motosugi.keigo@j... ] Coffee Script におけるクラス定義について教えてください
      3659 2011-11-10 09:04 ┗[sakuro@2...         ]                                       
      3662 2011-11-10 22:34  ┣[motosugi.keigo@j... ]                                     
->    3663 2011-11-14 01:08  ┗[motosugi.keigo@j... ]                                     
      3664 2011-11-18 16:03   ┗[sakuro@2...         ]                                   
      3665 2011-11-21 03:46    ┗[motosugi.keigo@j... ]