0

アプリケーションのコーディングにHAMLとjqueryを使用しています。URLリンクを表示するために使用される単一の「共有」テンプレートがあります。渡される変数に応じて異なるURLを表示するように柔軟にしたいと思います。

//Code to trigger view and populate template -> Note I only pass in the thread vara here
share_view = new Onethingaday.Views.Threads.ShareView
  thread: new Onethingaday.Models.Thread(@options.thread_muses.first().get('question'))

//snippet from share view to pass the variables to the template
render: ->
  $(@el).html @template
    nickname: @options.nickname
    thread_slug: @options.thread.get('slug')
    thread_text: @options.thread.get('text')
  @

//Snippet of share view's template. Added if-else statement to check if nickname is defined
.sidebar_text Link:
  <% if (typeof <%= nickname %> !== "undefined") { %>
  %input.detail_text{value: "<%= 'http://dailymus.es/' + nickname + '/threads/' + thread_slug %>"}
  <% } else { %>
  %input.detail_text{value: "<%= 'http://dailymus.es/' + '/threads/' + thread_slug %>"}
  <% } %>

上記の例では、「ニックネーム」変数を定義していません。else部分がトリガーされ、表示されるURLは「http://dailymus.es/threads/some-slug-text」になると思います。

しかし、私はまだ次のものを取得しています

ここに画像の説明を入力してください

ご覧のとおり、それでも「if」部分がトリガーされ、URLの一部として「undefined」が表示されます。

私の場合、「未定義」変数を正しくチェックするにはどうすればよいですか?

4

1 に答える 1

1

ニックネームがすでに1つになっている場合でも、ニックネームを<%=%>でラップする必要がありますか?

于 2012-04-18T18:00:48.557 に答える