activerecord ruby:php + ruby with activerecord 範例

如果老闆要求使用php,可是您卻是ruby狂熱者,這.. 怎辦呢?
沒關係! 一樣用ruby寫,php只要做一點點的處理就好!
how to? php中有這個函式:exec
( 本範例實作於windows xp professional搭配instantrails;在其他作業系統上沒有測試過,不過各位還是可以嘗試看看 )
我們來試試看吧!
先寫個test.rb:
#!/usr/bin/env ruby
#
# filename: test.rb
#
puts "hello"
puts "world"

再寫個test.php:
<?php
exec("test.rb", $args);
foreach($arg as $args)
echo $arg . "<br />";
?>
將兩個檔案放在同一個目錄下後,打開瀏覽器瀏覽test.php;看!是不是顯示結果出來了?
ok,我們直接來用activerecord幫我們新增資料吧!
我們需要一張普通頁面、一張php網頁跟一個ruby檔案:
#!/usr/bin/env ruby
#
# filename: ar.rb
#
require 'rubygems'
gem 'activerecord'
activerecord::base.establish_connection(
:adapter => 'mysql',
:host => 'localhost',
:username => 'root',
:password => '',
:database => 'cal'
)

class event < activerecord::base;end

name, descr = argv[0], argv[1]
puts event.new({:name => name, :descr => descr, :date => date.today, :time => time.now}).save
好了,接下來是普通頁面,這是送出表單:

<!-- filename: ar_form.html -->
<html>
<head>
<title>php with ruby and activerecord</title>
</head>
<body>
<form action="ar_save.php" method="post">
username: <input type="text" name="usrname" /><br />
description: <textarea name="descr"></textarea><br />
<input type="submit" value="save it!" />
</form>
</body>
</html>

這是php網頁:
<?php
// filename: ar_save.php
exec("2.rb " . $_post["usrname"] . " " . $_post["descr"], $arg);
if($arg[0]) echo "success!";
?>
ok,讓我們來試試看吧! 本文链接http://www.cxybl.com/html/wlbc/Php/20120607/28694.html

时间: 2025-01-23 19:26:47

activerecord ruby:php + ruby with activerecord 範例的相关文章

Ruby设计模式透析:单例(Singleton)

写软件的时候经常需要用到打印日志功能,可以帮助你调试和定位问题,项目上线后还可以帮助你 分析数据,但是Ruby原生带有的puts方法却很少在真正的项目开发中使用. 为什么作为Ruby新 手神器的puts,到了真正项目开发当中会被唾弃呢?其实只要细细分析,你就会发现它的很多弊端.比 如不可控制,所有的日志都会在项目上线后照常打印,从而降低运行效率:又或者不能将日志记录到本 地文件,一旦打印被清除,日志将再也找不回来:再或者打印的内容没有Tag区分,你将很难辨别这一 行日志是在哪个类里打印的. 你的

Ruby学习笔记一 安装Ruby与Ruby的爬虫应用

最近终于空下来了,所以下个Ruby玩玩,安装Ruby很简单,去官网下载一个一键 安装包既可,linux下的安装,大家Google下就有很多教程了.对于IDE网上说 NetBeans支持得很完美,但是因为本人比较喜欢Eclipse,所以还是跟大家推荐 EasyEclipse for Ruby and Rails,当然你可以选择只下RoR的插件而不弄个全新 的Eclipse. 以前一直在用Java写爬虫工具抓图片,对HttpClient包装,正则表达式处理那 个是累啊,就算弄好了工具类,有时候一会又

Ruby和Ruby on Rails中解析JSON格式数据的实例教程_ruby专题

Ruby解析JSON Ruby解析Json例子: json = '["a", "B", "C"]' puts "Unsafe #{unsafe_json (json).inspect}" #输出Unsafe ["a", "B", "C"] Ruby解析Json把上面的json字符串解析成Array.这样的方法并不安全,比如: json = 'puts "Da

Ruby与Ruby on Rails框架环境搭建的简明教程_ruby专题

安装Ruby与升级RubyGems提示:在Ubuntu环境下安装过程中,如果提示权限问题,可以使用sudo make和sudo make install. 1.Ruby安装 wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz \ && tar -xzvf ruby-1.9.3-p125.tar.gz \ && cd ruby-1.9.3-p125 \ && ./configure

什么是ruby和Ruby概述_ruby专题

Ruby是一种功能强大的面向对象的脚本语言,她可以使您方便快捷地进行面向对象编程.有时使用像Smalltalk.Eiffel或C++这样正式的面向对象语言来开发一些小项目显得有点"小题大作",而Ruby刚好可以满足这些面向对象编程的需求.当然了,您也可以使用Ruby进行普通的面向过程编程. Ruby的文本处理能力极强,与Perl不分伯仲.同时,Ruby的语法简单,还有异常处理以及迭代器等构造,使编程变得简单明了. 简而言之,您可以像使用Perl一样方便快捷地进行面向对象的开发.怎么样?

ruby and ruby on rails

ruby是一种动态语言,著名网站javaeye就是使用ruby构建,打消了很多人对于动态语言效率的疑问. 这两天我也简单学习了一下ruby的语法,并安装了ruby的最流行web框架rails. 安装了ruby后在cmd中运行在线安装命令:gem install rails --include-dependencies 目前的动态语言似乎都是这样,perl也有一个ppm用于在线查找和安装其CPAN上丰富的模块,看来这也是个趋势,缺点之一就是速度太慢了,gem有离线安装模式,我还没有研究他的参数.

Ruby on rails开发从头来(五十四)- ActiveRecord基础(指定关联关系)

Rails支持三种表间关联关系,一对一,一对多,多对多,你需要在Model中加入声明来标识这些关联:has_one,has_many,belongs_to,has_and_belongs_to_many. 一对一关联关系可能存在于象订单和发票这样的关系,一个订单只能有一个发票,在Rails中,我们这样指明: class Order < ActiveRecord::Base has_one :invoice . . . class Invoice < ActiveRecord::Base bel

Ruby on rails开发从头来(四十三)- ActiveRecord基础(连接数据库)

Active Record抽象了数据库连接的概念,帮助应用程序来处理底层的数据库链接的细节,作为替代,Active Record使用通用的调用,将细节委托给一组数据库适配器. 可以使用establish_connection( )方法来制定连接,下面的例子创建了一个mysql数据库连接,数据库的名字是railsdb,服务器的Host名为dbserver.com,用户名为railsuser,密码为railspw. ActiveRecord::Base.establish_connection( :

Ruby on rails开发从头来(三十八)- ActiveRecord基础(列和属性)

ActiveRecord中的一个对象相当于数据库中表的一行,对象的属性对应于表的列,也许你会注意到我们的Order类没有提及关于orders表的任何东西,这是因为ActiveRecord在运行时来确定这些对应关系,Active Record将数据库中的模式反应到类中. 我们的orders表可能使用下面的sql来创建: create table orders ( id int not null auto_increment, name varchar(100) not null, email va