Jquery 从rails更改application.js中的regexp

Jquery 从rails更改application.js中的regexp,jquery,ruby-on-rails,Jquery,Ruby On Rails,我想从rails控制器中更改application.js文件中的正则表达式。 有可能吗?是的,有可能。您可以使用Routes文件将其定义为动作,然后仅使用ERB渲染它。不过如果你能避免的话会好得多 routes.rb map.myjs '/application.js', :controller => 'my_js_controller', :action => :show my_js_controller.rb def show end my_js_controller/sho

我想从rails控制器中更改application.js文件中的正则表达式。

有可能吗?

是的,有可能。您可以使用Routes文件将其定义为动作,然后仅使用ERB渲染它。不过如果你能避免的话会好得多

routes.rb

map.myjs '/application.js', :controller => 'my_js_controller', :action => :show
my_js_controller.rb

def show
end
my_js_controller/show.js.erb

$('awesome jquery code').match(<%= render_my_regex_here %>);
$('awesome jquery code').match();

我真的不明白您的解决方案如何在application.js文件中使用erb渲染文件?谢谢您的示例,但我仍然不明白。如何在application.js文件中引用这里的render_my_regex_?如果这样做并在这里说
render_my_regex_
计算为
/[a-z]{3,5}/
,那么当您访问/appliaction.js时,它将是
$('awesome jquery code')。匹配(/[a-z]{3,5}/)
。如果我没记错的话,我可以在application.js文件中添加ad$('awesome jquery code'),这将是/[a-z]{3,5}/?我在application.js中有以下代码:if(reg_exp_url.test(document.location.href))。。。所以我只想把/[a-z]{3,5}/espression放到reg_exp_url变量中。。。