Ruby on rails 用Perl和Ruby编写应用程序?
我正在从事一个主要是RubyonRails的项目。然而,我需要在这个项目中生成和解析Excel文件(我知道,我知道…),所以我一直在使用Perl的电子表格::WriteExcel和电子表格::ParseExcel,它们工作得很好。然而,将Perl的这种使用与更大的RubyonRails应用程序结合起来的最佳方式是什么?使用backticks调用Perl脚本是否是一种犹太方式?我觉得有点不舒服,但如果这是唯一(或最好)的方法,那我就这么做。我想联系一下,看看有没有其他人有什么建议或建议 谢谢大家! 还有,尽管我从来没有用它来写作Ruby on rails 用Perl和Ruby编写应用程序?,ruby-on-rails,perl,Ruby On Rails,Perl,我正在从事一个主要是RubyonRails的项目。然而,我需要在这个项目中生成和解析Excel文件(我知道,我知道…),所以我一直在使用Perl的电子表格::WriteExcel和电子表格::ParseExcel,它们工作得很好。然而,将Perl的这种使用与更大的RubyonRails应用程序结合起来的最佳方式是什么?使用backticks调用Perl脚本是否是一种犹太方式?我觉得有点不舒服,但如果这是唯一(或最好)的方法,那我就这么做。我想联系一下,看看有没有其他人有什么建议或建议 谢谢大家!
我不认为使用backticks或
%x()
本质上有什么问题,尽管我可能会将Perl内容公开为一种服务,使其更具通用性。不过,这可能有些过头了。您可能会考虑使用Perl webapp框架制作一个简单的RESTful应用程序,如。您的RoR应用程序可以简单地调用Perl应用程序并返回一些JSON
这是一个非常简单的应用程序,当然你的get_data
会做一些事情,我只是让它返回一个简单的散列。安装Mojolicious后,您可以使用其内置服务器运行它,例如:morbo myapp.pl
(当然,假设以下内容保存为myapp.pl
)
我不知道它支持多少第三方的东西,但是有一个项目:Ruby中的嵌入式Perl。谢谢你指出这个宝石!我来看看。不过,我认为服务路线可能是这个特定项目的最佳方式,即使这可能有些过分。非常感谢。
#!/usr/bin/env perl
use Mojolicious::Lite;
get '/:query' => sub {
my $self = shift;
my $query = $self->param( 'query' );
my $data = get_data( $query );
$self->render( json => $data );
};
app->start;
sub get_data {
my $query = shift;
# do something here, like parse some excel file
# I will just make some silly data
my $data = { $query => $query };
return $data;
}