2011-10-21 22 views
0

我怎麼會從application_helper.rbJava腳本的格式化的Rails 3.1

移動的JavaScript目前我已經在應用助手

def js_field_formatter_phone() 

result = <<JS_DATE_FIELD_PHONE 
<script language="javascript" type="text/javascript"> 

    function js_field_formatter_phone(inputField) { 
     var valueStr = inputField.value; 
     var formattedStr = ""; 
     for (var i=0; i<valueStr.length; i++) { 
      if (/^\\d/.test(valueStr.charAt(i))) { 
       formattedStr += valueStr.charAt(i); 
      } 
     } 
     inputField.value = formattedStr; 
    } 
</script> 
      JS_DATE_FIELD_PHONE 
    return result 
end 

的JavaScript但在我的觀點這段代碼顯示爲原始HTML

在我看來,我已經有

<%= js_field_formatter_phone() %> 

    <input type="text" 
    name="billing_phone_number_home" 
    size="30" 
    maxlength="20" 
    tabindex="<%= get_next_tabindex(@content_data) %>" 
    onchange="js_field_formatter_phone(this);" 
    value="<%= @content_data['billing_phone_number_home'] %>" 

回答

0

把JavaScript放在一個單獨的文件中。不要將它與HTML混合。

1

Rails 3.1使用資產管道,並將JavaScripts放在app/assets/javascripts中。我對它還不是很熟悉,你可以在這裏閱讀: http://guides.rubyonrails.org/asset_pipeline.html

但是爲什麼這個javascript在一個幫手呢?它似乎根本沒有使用'result'變量。