﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-探索与发现-随笔分类-ruby</title><link>http://www.blogjava.net/zhaijianhui/category/20964.html</link><description>研究java技术</description><language>zh-cn</language><lastBuildDate>Sun, 01 Apr 2007 00:29:08 GMT</lastBuildDate><pubDate>Sun, 01 Apr 2007 00:29:08 GMT</pubDate><ttl>60</ttl><item><title>rails find method</title><link>http://www.blogjava.net/zhaijianhui/archive/2007/03/31/107648.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Sat, 31 Mar 2007 08:17:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2007/03/31/107648.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/107648.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2007/03/31/107648.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/107648.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/107648.html</trackback:ping><description><![CDATA[a=Movie.find(1)<br />a=Movie.find_by_name("g")<br />a=Comment.find(:all,:conditions=&gt;"comment like '%thi%'")<br /><img src ="http://www.blogjava.net/zhaijianhui/aggbug/107648.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2007-03-31 16:17 <a href="http://www.blogjava.net/zhaijianhui/archive/2007/03/31/107648.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>rails 表与表关系</title><link>http://www.blogjava.net/zhaijianhui/archive/2007/03/31/107646.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Sat, 31 Mar 2007 08:08:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2007/03/31/107646.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/107646.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2007/03/31/107646.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/107646.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/107646.html</trackback:ping><description><![CDATA[ruby里的表对应的三关系:<br />在mysql里创建两张表<br />mysql&gt; create table invoices(<br />    -&gt; id int primary key auto_increment,<br />    -&gt; order_id int,<br />    -&gt; created_at timestamp<br />    -&gt; );<br />Query OK, 0 rows affected (0.28 sec)<br /><br />mysql&gt; create table orders(<br />    -&gt; id int primary key auto_increment,<br />    -&gt; company varchar(30)<br />    -&gt; );<br />Query OK, 0 rows affected (0.23 sec)<br />(1)one to one relationShip:<br />   order.rb<br />   class Order &lt; ActiveRecord::Base<br />   has_one:invoice<br />   end<br /><br />   invoice.rb<br />   class Invoice &lt; ActiveRecord::Base<br />    belongs_to:order<br />   end<br /><br /><font color="#0000ff">   D:\ruby\mytest\mytest1&gt;ruby script\console<br />   Loading development environment.<br />   &gt;&gt; order=Order.new<br />   =&gt; #&lt;Order:0x4872e78 @new_record=true, @attributes={"company"=&gt;nil}&gt;<br />   &gt;&gt; order.company="Big Corp"<br />   =&gt; "Big Corp"<br />   &gt;&gt; order.save<br />   =&gt; true<br /><br />   &gt;&gt; invoice=Invoice.new<br />   =&gt; #&lt;Invoice:0x485c5ec @new_record=true, @attributes={"order_id"=&gt;nil, "created_<br />   at"=&gt;nil}&gt;<br />   &gt;&gt; order.invoice=invoice<br />   =&gt; #&lt;Invoice:0x485c5ec @errors=#&lt;ActiveRecord::Errors:0x4858730 @errors={}, @bas<br />   e=#&lt;Invoice:0x485c5ec ...&gt;&gt;, @new_record=false, @attributes={"order_id"=&gt;1, "id"<br />   =&gt;1, "created_at"=&gt;Sat Mar 31 14:41:32 +0800 2007}&gt;<br />   &gt;&gt;<br /><br /><font color="#000000">(2)one to many<br />  mysql&gt; create table comments<br />    -&gt; (<br />    -&gt; id int primary key auto_increment,<br />    -&gt; comment varchar(5000),<br />    -&gt; created_at timestamp,<br />    -&gt; updated_at timestamp<br />    -&gt; );<br />Query OK, 0 rows affected (0.31 sec)<br /><br />mysql&gt; alter table comments add critic_id int;<br />Query OK, 0 rows affected (0.42 sec)<br />Records: 0  Duplicates: 0  Warnings: 0<br /><br />mysql&gt; create table critics<br />    -&gt; (<br />    -&gt; id  int primary key auto_increment,<br />    -&gt; firstname varchar(30),<br />    -&gt; lastname varchar(30),<br />    -&gt; email varchar(30)<br />    -&gt; );<br />Query OK, 0 rows affected (0.11 sec)<br /><br />class Critic &lt; ActiveRecord::Base<br />  has_many:comment<br />end<br /><br />class Comment &lt; ActiveRecord::Base<br />  belongs_to:critic<br />end<br /><br /><font color="#ff1493">D:\ruby\mytest\mytest1&gt;ruby script\console<br />Loading development environment.<br />&gt;&gt; a_critic=Critic.new<br />=&gt; #&lt;Critic:0x486ffd4 @new_record=true, @attributes={"lastname"=&gt;nil, "firstname<br />"=&gt;nil, "email"=&gt;nil}&gt;<br />&gt;&gt; a_critic.lastname="adm"<br />=&gt; "adm"<br />&gt;&gt; a_critic.save<br />=&gt; true<br />&gt;&gt; a_comment=Comment.new<br />=&gt; #&lt;Comment:0x485a1fc @new_record=true, @attributes={"updated_at"=&gt;nil, "critic<br />_id"=&gt;nil, "comment"=&gt;nil, "created_at"=&gt;nil}&gt;<br />&gt;&gt; a_comment.comment="this is a movie"<br />=&gt; "this is a movie"<br />&gt;&gt; a_critic.comment&lt;&lt;a_comment</font><br /><br />(3)many to many<br />   有三张表table1s ,table1s_table2s,table2s<br />   分别在table1.rb,table2.rb增加下面的语句<br />   has_and_belongs_to_many:table1;<br />   </font></font><font color="#0000ff"><font color="#000000"> has_and_belongs_to_many:table2</font></font><br /><font color="#0000ff">操作与(2)相似<br /></font><img src ="http://www.blogjava.net/zhaijianhui/aggbug/107646.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2007-03-31 16:08 <a href="http://www.blogjava.net/zhaijianhui/archive/2007/03/31/107646.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用scoffold小记</title><link>http://www.blogjava.net/zhaijianhui/archive/2007/03/24/106087.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Sat, 24 Mar 2007 10:40:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2007/03/24/106087.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/106087.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2007/03/24/106087.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/106087.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/106087.html</trackback:ping><description><![CDATA[
		<div align="left">
				<font size="4">只适用于window平台:<br />假设之前你已经装好了ruby,rails,mysql<br />1)  启动mysql<br />    <b>d:\&gt;net start mysql</b><br />2)  优化mysql<br />    <b>d:\&gt;gem install mysql</b><br />这会提示出很多版本,确保你选择的是高版本而且是以(mswin32)结尾的产品<br />3)  创建rails项目<br />    <b>d:\&gt;rails cookbook<br />    </b>进入cookbook目录<br />    这样子默认使用的是mysql数据库,如果想使用PostgreSQL,<br />    就要这样子指定它创建项目了d:&gt;rails cookbook --database=postgresql
<br />    <b>d:\&gt;cd cookbook<br /></b>4)  数据库test创建表languages,我的数据库的用户名是root,密码是root<br />    我们使用rails创建表<br />    1:打开cookbook\config\database.yml修改为<br /></font>
				<blockquote>
						<font size="4">    development:<br />  adapter: mysql<br />  database: test<br />  username: root<br />  password: root<br />  host: localhost<br /><br /># Warning: The database defined as 'test' will be erased and<br /># re-generated from your development database when you run 'rake'.<br /># Do not set this db to the same as development or production.<br />test:<br />  adapter: mysql<br />  database: cookbook_test<br />  username: root<br />  password: root<br />  host: localhost<br /><br />production:<br />  adapter: mysql<br />  database: cookbook_production<br />  username: root<br />  password: root<br />  host: localhost<br />2:创建一个migration脚本<br />  d:\cookbokk&gt;<b>ruby script/generate migration build_db</b><br />  打开<span class="docEmphasis">db/migrate/001_build_db.rb<br />  修改如下:<br /></span></font>
						<blockquote>
								<font size="4">
										<span class="docEmphasis">  class BuildDb &lt; ActiveRecord::Migration<br />  def self.up<br />    create_table :languages,:force=&gt;true do |t|<br />                      t.column :name,:string<br />                      t.column :description,:string<br />    end<br />  end<br /><br />  def self.down<br />    drop_table :languages<br />  end<br />end<br /></span>
								</font>
						</blockquote>
						<font size="4">
								<span class="docEmphasis">3:执行d:\cookbook&gt;</span>
								<b>rake db:migrate</b>
								<br />  这时你的数据库表应该创建了<br /><br />5)有两种方式创建scaffolding<br /> <b>&lt;第一种方式&gt;</b><br />  1)<b>ruby script/generate model language</b><br />  2)<b>ruby script/generate controller language</b><br />  3)修改这个文件为如下内容app/controllers/language_controller.rb:<br /><br />    class LanguageController &lt; ApplicationController<br />    scaffold :languages<br />    end<br /></font>
						<blockquote>
								<pre>
										<font size="4">
												<br />
										</font>
								</pre>
						</blockquote>
						<font size="4"> 4)启动服务器<b>ruby script/server</b><br /><b></b>5)访问http://localhost:3000/languages<br /><br /><b>&lt;第二种方式&gt;</b><br /></font>1)<b>ruby script/generate scaffold language</b><br /><pre><font size="4">2) 启动服务器<b>ruby script/server</b><br />3)访问http://localhost:3000/languages<br /></font></pre><font size="4"><span class="docEmphasis"></span></font></blockquote>
		</div>
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/106087.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2007-03-24 18:40 <a href="http://www.blogjava.net/zhaijianhui/archive/2007/03/24/106087.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>