2011-10-21 24 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'变量。