在Ruby和JavaScript中复制计算的最佳方法是什么?

Ric*_*urt 0 javascript ruby json function

我有一个Ruby on Rails应用程序,我需要在Ruby和JavaScript中复制一些计算.Ruby用于服务器端,但我还需要使用JavaScript在浏览器上计算学生成绩.

我的第一个想法是使用字符串构建JavaScript函数,将其转换为JSON,将其发送到解码的浏览器并用作普通的JavaScript函数.这听起来对你有用吗?我尝试过一些简单的事情

def letterGradeCalc
  "function calcLetterGrade(score) {
    if( score >= 90 ) { return 'A'; }
    else if( score >= 80 ) { return 'B'; }
    else if( score >= 0 ) { return 'F'; }
    else return '';
  }".to_json
end

但是当浏览器获取它时,它不是有效的JavaScript函数.它看起来像一个,但它有双引号.

我在这里吠叫错了吗?我觉得有一些非常简单的方法可以做到这一点,但我完全错过了它.:)

Mar*_*hes 5

对于像这样简单的事情,我建议用函数编写一个纯JS文件并包含它.从ruby生成JS听起来像严重的矫枉过正.然后在Ruby中编写相同的函数.

如果它是一个中等复杂的算法,我建议只在Ruby中编写它,并建立一个从JS调用的Web服务.

编辑,在我的评论中添加被混淆的代码:

function calcLetterGrade(score, lowCutoff, hiCutoff) 
{ 
  if( score >= hiCutoff ) { return 'A'; } 
  else if( score >= lowCutoff ) { return 'B'; } 
  else if( score >= 0 ) { return 'F'; } 
  else return ''; 
} 
Run Code Online (Sandbox Code Playgroud)