??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
]]>
<h1 id='header'>RJS Template Test</h1>
<ul id='list'>
<li>Dog</li>
<li>Cat</li>
<li>Mouse</li>
</ul>
<%= link_to_remote("Add a fox",
:url =>{ :action => :add }) %>
定你引入了javascriptcd
<%= javascript_include_tag :defaults %>
2.在link_to_remote指向的控制器中加入一个方?/p>
def add
end
3.rails寻找扩展名?rjs,.rhtml,rxml的模?因此建立一个名?br />add.rjs的文?q输?
page.insert_html :bottom, 'list',
content_tag("li", "Fox")
page.visual_effect :highlight, 'list', :duration => 3
page.replace_html 'header',
'RJS Template Test Complete!'
4.启动服务?在浏览器面点击"Add a fox",可以看到效果了.
1.Z文greq_load.rb,输入Q?/p>
puts("this is req_load.rb file")
2.建立test.rb文gQ输入:
require("req_load.rb")
require("req_load.rb")
q行Q?br />ruby test.rb
l果Q?br />this is req_load.rb file
3.把test.rb中内Ҏ成:
load("req_load.rb")
load("req_load.rb")
q行Q?br />ruby test.rb
l果Q?br />this is req_load.rb file
this is req_load.rb file
对于相同的文件require只会引入一ơ,而load每次调用都引入?/p>
class Person
def initialize(&action)
@action = action
end
def say
@action.call
end
def say2
@action.call
end
end
p = Person.new{puts("hello world")}
p.say ---------hello world
p.say2 ---------hello world
在调用say和say2的时候,它们中的@action.call执行了block中的代码也就是puts("hello world")?/p>
可以q么理解Qyield提供的是ҎU别上执行block中的代码的能力,?amp;却可以提?br />cM各个Ҏ执行相同block代码的能力。也是上面例子中sayQsay2都执行了puts("hello world"Q?/p>
def my_open(*args)
puts(args.length)
end
my_open("test.rb","w")
我们可以看到输出的结果是2Q这说明了args是一个带有两个元素的
我们假设数据库中的表为:
CREATE TABLE `users` (`id` int(10) unsigned NOT NULL auto_increment,
`login` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
`email` varchar(100) NOT NULL,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`))
cMؓQ?br />class User<< ActiveRecord::Base
end
我们先看看如何往数据增加一个用P代码如下Q?br />user = User.new
user.login = "zidoing"
user.password="123456"
user.email = "chh915@gmail.com"
user.name = "chh"
user.save
q就可以了,是不是很单啊?/p>
如果你不惛_立一个新的局部变量你q可以用这U方式来新增一个用戗?br />User.new do |user|
user.login = "zidoing"
user.password="123456"
user.email = "chh915@gmail.com"
user.name = "chh"
user.save
end
User的构造函数还可以接收hashQ这对web开发非常的方便?br />user = User.new(:login=>"zidoing",:password=>"123456",:email=>"chh915@gmail.com",:name=>"chh")
user.save
增加一条记录需要两个步?
1.是new一个实体赋倹{?br />2.调用saveq行保存?br />但是active record也提供一个create函数同时完成了这两步的操作?br />user = User.create(:login=>"zidoing",:password="123456",:email=>"chh915@gmail.com",:name="chh")
它也可以接收array作ؓ参数?br />users = User.create([{:login=>"zidoing",:password="123456",:email=>"chh915@gmail.com",:name="chh"},{
:login=>"zidoing1",:password="1234567",:email=>"chh915@hotmail.com",:name="chh1"}])
1,上传所有的文gC的服务器目录?(定也上?public/.htaccess 文g )
2,因ؓ要用的是fastcgiQ所以把public的dispatch.cgi改名为_dispatch.cgiQ避免冲H?br />3,修改public目录下的dispatch.fcgi和dispatch.rbQ把首行改ؓ#!/usr/bin/ruby
4,修改public目录下的.htaccessQ把RewriteRule ^(.*)$ dispatch.cgi [QSA,L]改ؓRewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
5Q配|数据库Q这边要注意的是host配置为域名而不能是id地址?br />6,?yourdomain.com/public, public/dispatch.fcgi ?public/dispatch.rb的权限改?755
7,更改目录 /yourdomain.com/log 的权限ؓ 0666
最后要谢谢bd7lx、caiwangqin、apemanchen,没他们的帮助我是不可能安装成功的?br />