﻿<?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-xiaoqiu369</title><link>http://www.blogjava.net/xiaoqiu369/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 06:48:14 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 06:48:14 GMT</pubDate><ttl>60</ttl><item><title>ruby+will_pagination+ferret分页的实现</title><link>http://www.blogjava.net/xiaoqiu369/archive/2009/03/04/257868.html</link><dc:creator>bobqiu</dc:creator><author>bobqiu</author><pubDate>Wed, 04 Mar 2009 12:00:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoqiu369/archive/2009/03/04/257868.html</guid><wfw:comment>http://www.blogjava.net/xiaoqiu369/comments/257868.html</wfw:comment><comments>http://www.blogjava.net/xiaoqiu369/archive/2009/03/04/257868.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoqiu369/comments/commentRss/257868.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoqiu369/services/trackbacks/257868.html</trackback:ping><description><![CDATA[<p style="color: red"><strong style="color: #000000">注:rails的版本是2.0以上.<br />
<br />
1.在application.rb里添加分页信息方法:<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">1</span>&nbsp;<span style="color: #000000">def&nbsp;page_for(result,options</span><span style="color: #000000">=</span><span style="color: #000000">{})<br />
</span><span style="color: #008080">2</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default_options&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{:per_page&nbsp;</span><span style="color: #000000">=&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">10</span><span style="color: #000000">}&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;default_options.merge&nbsp;options&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pages&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;WillPaginate::Collection.</span><span style="color: #0000ff">new</span><span style="color: #000000">(options[:page],options[:per_page],result.total_hits)&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;pages<br />
</span><span style="color: #008080">7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;end</span></div>
</strong>2.users_controller.rb里添加search方法:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;def&nbsp;search<br />
</span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;@keyWord</span><span style="color: #000000">=</span><span style="color: #000000">params[:keyWord]<br />
</span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;params[:page]</span><span style="color: #000000">==</span><span style="color: #000000">nil</span><span style="color: #000000">||</span><span style="color: #000000">params[:page]</span><span style="color: #000000">==</span><span style="color: #000000">""</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@page</span><span style="color: #000000">=</span><span style="color: #000000">1</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@page</span><span style="color: #000000">=</span><span style="color: #000000">params[:page]<br />
</span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;end<br />
</span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;@users</span><span style="color: #000000">=</span><span style="color: #000000">User.find_by_contents(@keyWord,:per_page</span><span style="color: #000000">=&gt;</span><span style="color: #000000">2</span><span style="color: #000000">,:page</span><span style="color: #000000">=&gt;</span><span style="color: #000000">@page)<br />
</span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;@pages</span><span style="color: #000000">=</span><span style="color: #000000">page_for(@users,:page</span><span style="color: #000000">=&gt;</span><span style="color: #000000">@page,:per_page</span><span style="color: #000000">=&gt;</span><span style="color: #000000">2</span><span style="color: #000000">)<br />
</span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;end</span></div>
3.view页面:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #000000">&lt;%</span><span style="color: #000000">@users.each&nbsp;</span><span style="color: #0000ff">do</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000">user</span><span style="color: #000000">|%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000">&lt;</span><span style="color: #000000">br</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;username:&nbsp;</span><span style="color: #000000">&lt;%=</span><span style="color: #000000">user.highlight(@keyWord,:field</span><span style="color: #000000">=&gt;</span><span style="color: #000000">:user_name,:num_excerpts</span><span style="color: #000000">=&gt;</span><span style="color: #000000">1</span><span style="color: #000000">,:pre_tag</span><span style="color: #000000">=&gt;</span><span style="color: #000000">'</span><span style="color: #000000">&lt;strong&gt;</span><span style="color: #000000">'</span><span style="color: #000000">,:post_tag</span><span style="color: #000000">=&gt;</span><span style="color: #000000">'</span><span style="color: #000000">&lt;/strong&gt;</span><span style="color: #000000">'</span><span style="color: #000000">)</span><span style="color: #000000">%&gt;&lt;</span><span style="color: #000000">br</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;地址:</span><span style="color: #000000">&lt;%=</span><span style="color: #000000">user.highlight(@keyWord,:field</span><span style="color: #000000">=&gt;</span><span style="color: #000000">:introduce,:num_excerpts</span><span style="color: #000000">=&gt;</span><span style="color: #000000">1</span><span style="color: #000000">,:pre_tag</span><span style="color: #000000">=&gt;</span><span style="color: #000000">'</span><span style="color: #000000">&lt;strong&gt;</span><span style="color: #000000">'</span><span style="color: #000000">,:post_tag</span><span style="color: #000000">=&gt;</span><span style="color: #000000">'</span><span style="color: #000000">&lt;/strong&gt;</span><span style="color: #000000">'</span><span style="color: #000000">)</span><span style="color: #000000">%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">==================================================================================</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&lt;%</span><span style="color: #000000">end</span><span style="color: #000000">%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&lt;</span><span style="color: #000000">p</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;共</span><span style="color: #000000">&lt;%=</span><span style="color: #000000">@users.total_hits</span><span style="color: #000000">%&gt;</span><span style="color: #000000">条记录<br />
</span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&lt;/</span><span style="color: #000000">p</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&lt;</span><span style="color: #000000">p</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #000000">&lt;%=</span><span style="color: #000000">link_to&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">上一页</span><span style="color: #000000">"</span><span style="color: #000000">,{:page</span><span style="color: #000000">=&gt;</span><span style="color: #000000">@pages.previous_page,:keyWord</span><span style="color: #000000">=&gt;</span><span style="color: #000000">@keyWord}&nbsp;</span><span style="color: #000000">%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&lt;%=</span><span style="color: #000000">link_to&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">下一页</span><span style="color: #000000">"</span><span style="color: #000000">,{:page</span><span style="color: #000000">=&gt;</span><span style="color: #000000">@pages.next_page,:keyWord</span><span style="color: #000000">=&gt;</span><span style="color: #000000">@keyWord}&nbsp;</span><span style="color: #000000">%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">&lt;</span><span style="color: #000000">br</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">&lt;%=</span><span style="color: #000000">will_paginate&nbsp;@users</span><span style="color: #000000">%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000">&lt;/</span><span style="color: #000000">p</span><span style="color: #000000">&gt;</span></div><img src ="http://www.blogjava.net/xiaoqiu369/aggbug/257868.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoqiu369/" target="_blank">bobqiu</a> 2009-03-04 20:00 <a href="http://www.blogjava.net/xiaoqiu369/archive/2009/03/04/257868.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>安装ferret</title><link>http://www.blogjava.net/xiaoqiu369/archive/2009/02/20/255895.html</link><dc:creator>bobqiu</dc:creator><author>bobqiu</author><pubDate>Fri, 20 Feb 2009 14:31:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoqiu369/archive/2009/02/20/255895.html</guid><wfw:comment>http://www.blogjava.net/xiaoqiu369/comments/255895.html</wfw:comment><comments>http://www.blogjava.net/xiaoqiu369/archive/2009/02/20/255895.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoqiu369/comments/commentRss/255895.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoqiu369/services/trackbacks/255895.html</trackback:ping><description><![CDATA[<p>按照网上传统的方法安装几次都没有成功.最后只有下载gem文件安装<br />
1.下载ferret-0.11.6-mswin32.gem文件<br />
2.用gem 安装:gem install ferret-0.11.6-mswin32 --local<br />
3.gem install acts_as_ferret<br />
4.从网上下载ferrect_ext.so文件,copy到 ferret-0.11.5-x86-mswin32\lib目录（跟ferret.rb同一目录）<br />
<br />
如果直接下载源码安装运行ruby setup.rb.会出现"the c extensions&nbsp;could not be installed"的错误<br />
<br />
<br />
手动安装plugins<br />
<br />
将下载的源文件放到vendor/plugins里面,进入该目录,运行ruby install.rb<br />
<br />
出现的问题:<br />
</p>
<p>=&gt; Booting WEBrick...</p>
<p>c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:442:in `load_missing_constant': uninitialized constant Ferret::Analysis::Analyzer (NameError)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:77:in `const_missing'</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from E:/rorapp/demo/vendor/plugins/acts_as_ferret/lib/ferret_extensions.rb:17</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:155:in `require'</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from E:/rorapp/demo/vendor/plugins/acts_as_ferret/lib/acts_as_ferret.rb:28</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 25 levels...</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from c:/ruby/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/commands/server.rb:49</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from script/server:3</p>
<p>&nbsp;解决办法就是把上面安装完成ferret后的文件里找到ferrect_ext.so将这个文件放到lib里面.这个是200多K,而从网上下载的才30K.导致上面的问题.<br />
</p><img src ="http://www.blogjava.net/xiaoqiu369/aggbug/255895.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoqiu369/" target="_blank">bobqiu</a> 2009-02-20 22:31 <a href="http://www.blogjava.net/xiaoqiu369/archive/2009/02/20/255895.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ror中有用的插件</title><link>http://www.blogjava.net/xiaoqiu369/archive/2009/02/07/253696.html</link><dc:creator>bobqiu</dc:creator><author>bobqiu</author><pubDate>Sat, 07 Feb 2009 06:57:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoqiu369/archive/2009/02/07/253696.html</guid><description><![CDATA[1.验证码:recaptcha<br />
gem install --source http://www.loonsoft.com/recaptcha/pkg/ recaptcha<br />
<br />
2.搜索:acts_as_searchable是一个Rails插件，它依赖于Hyper Estraier这个独立的搜索引擎所提供的索引和搜索服务&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ferret <span><span>gem&nbsp;install&nbsp;ferret&nbsp;-v=</span><span class="number">0.11</span><span>.</span><span class="number">5</span><span>&nbsp;--platform&nbsp;mswin32&nbsp;&nbsp;<br />
</span></span>3.pdf:<br />
<span><span>gem&nbsp;install&nbsp;pdf-writer&nbsp;&nbsp;<br />
</span></span><br />
4.测试:<br />
<a href="http://rspec.rubyforge.org/" target="_blank">RSpec</a>+<a href="http://mocha.rubyforge.org/" target="_blank">Mocha</a><br />
<br />
5.桌面应用<br />
gem install anvil<br />
<br /><img src ="http://www.blogjava.net/xiaoqiu369/aggbug/253696.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoqiu369/" target="_blank">bobqiu</a> 2009-02-07 14:57 <a href="http://www.blogjava.net/xiaoqiu369/archive/2009/02/07/253696.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]ROR的动态条件分页</title><link>http://www.blogjava.net/xiaoqiu369/archive/2009/01/19/251861.html</link><dc:creator>bobqiu</dc:creator><author>bobqiu</author><pubDate>Mon, 19 Jan 2009 03:23:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoqiu369/archive/2009/01/19/251861.html</guid><wfw:comment>http://www.blogjava.net/xiaoqiu369/comments/251861.html</wfw:comment><comments>http://www.blogjava.net/xiaoqiu369/archive/2009/01/19/251861.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoqiu369/comments/commentRss/251861.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoqiu369/services/trackbacks/251861.html</trackback:ping><description><![CDATA[<p _counted="undefined">使用插件</p>
<p _counted="undefined">1/ will_paginate</p>
<p _counted="undefined">&nbsp;&nbsp;&nbsp; <a href="http://groups.google.com/group/will_paginate" _counted="undefined">http://groups.google.com/group/will_paginate</a></p>
<p _counted="undefined">&nbsp;</p>
<p _counted="undefined">这个资料很多，不多说</p>
<p _counted="undefined">&nbsp;</p>
<p _counted="undefined">2/ squirrel</p>
<p _counted="undefined">&nbsp;&nbsp;&nbsp; 下载：<a href="http://github.com/thoughtbot/squirrel/tree/master" _counted="undefined">http://github.com/thoughtbot/squirrel/tree/master</a></p>
<p _counted="undefined">&nbsp;</p>
<p _counted="undefined">主要实现 动态条件的查询，扩展ActiveScaffold find方法。支持跨Model查询，具体见</p>
<p _counted="undefined">&nbsp;&nbsp;&nbsp; 说明：<a href="http://thoughtbot.com/projects/squirrel" _counted="undefined">http://thoughtbot.com/projects/squirrel</a></p>
<p _counted="undefined">&nbsp;</p>
<p _counted="undefined">贴段主要实现代码</p>
<p _counted="undefined">#controller:</p>
<p _counted="undefined">def index</p>
<p _counted="undefined">#######################################################</p>
<p _counted="undefined">#下面代码可以按实际情况提取到Model或其他地方；方便测试我直接放在index下</p>
<p _counted="undefined">#######################################################<br _counted="undefined" />
&nbsp;&nbsp;&nbsp; @permissions = Permission.find(:all) do<br _counted="undefined" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; paginate :page =&gt; params[:page]||1,:per_page=&gt;5<br _counted="undefined" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; any do<br _counted="undefined" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name == params[:permission][:name] unless params[:permission].nil?<br _counted="undefined" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; code == params[:permission][:code] unless params[:permission].nil?<br _counted="undefined" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; permit_date == params[:permission][:permit_date] unless params[:permission].nil?<br _counted="undefined" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; contact.company == params[:contact][:company] unless params[:contact].nil?<br _counted="undefined" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br _counted="undefined" />
&nbsp;&nbsp;&nbsp; end<br _counted="undefined" />
&nbsp;#######################################################<br _counted="undefined" />
&nbsp;&nbsp;&nbsp; respond_to do |format|<br _counted="undefined" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format.html # index.rhtml<br _counted="undefined" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format.xml&nbsp; { render :xml =&gt; @permissions.to_xml }<br _counted="undefined" />
&nbsp;&nbsp;&nbsp; end<br _counted="undefined" />
&nbsp; end</p>
<p _counted="undefined">&nbsp;</p>
<p _counted="undefined">&nbsp;</p>
<p _counted="undefined">#index--view</p>
<p _counted="undefined">&nbsp;</p>
<p _counted="undefined">&lt;% field_set_tag do %&gt;<br _counted="undefined" />
&nbsp; &lt;% form_for :permission, :url=&gt;permissions_url,:method=&gt;:get,:html=&gt;{:method=&gt;:get} do |f| %&gt;<br _counted="undefined" />
&nbsp;&nbsp;&nbsp; 公司名称 :&lt;%= text_field_with_auto_complete :contact, :company,{},{:method=&gt;:get}%&gt;&nbsp; &lt;br&gt;<br _counted="undefined" />
&nbsp;&nbsp;&nbsp; 证书类型 :&lt;%= text_field_with_auto_complete :permission, :name,{},{:method=&gt;:get}%&gt;&nbsp; &lt;br&gt;<br _counted="undefined" />
&nbsp;&nbsp;&nbsp; 证书编号 :&lt;%= text_field_with_auto_complete :permission, :code,{},{:method=&gt;:get}%&gt;&nbsp; &lt;br&gt;<br _counted="undefined" />
&nbsp;&nbsp;&nbsp; 授与日期 :&lt;%= text_field_with_auto_complete :permission, :permit_date,{},{:method=&gt;:get}%&gt;&nbsp; &lt;br&gt;<br _counted="undefined" />
&nbsp;&nbsp;&nbsp; &lt;%= submit_tag '查询'&nbsp; %&gt;<br _counted="undefined" />
&nbsp;&nbsp; &lt;% end %&gt;<br _counted="undefined" />
&lt;%&nbsp; end %&gt;</p>
<p _counted="undefined">&nbsp;</p>
<p _counted="undefined">...</p>
<p _counted="undefined">&nbsp;</p>
<p _counted="undefined">&lt;div class="digg_pagination"&gt;<br _counted="undefined" />
&nbsp; &lt;div clas="page_info"&gt;<br _counted="undefined" />
&nbsp;&nbsp;&nbsp; &lt;%= page_entries_info @permissions %&gt;<br _counted="undefined" />
&nbsp; &lt;/div&gt;<br _counted="undefined" />
&nbsp; &lt;%= will_paginate @permissions, :container =&gt; false %&gt;<br _counted="undefined" />
&lt;/div&gt;</p><img src ="http://www.blogjava.net/xiaoqiu369/aggbug/251861.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoqiu369/" target="_blank">bobqiu</a> 2009-01-19 11:23 <a href="http://www.blogjava.net/xiaoqiu369/archive/2009/01/19/251861.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ror执行流程</title><link>http://www.blogjava.net/xiaoqiu369/archive/2009/01/05/249937.html</link><dc:creator>bobqiu</dc:creator><author>bobqiu</author><pubDate>Mon, 05 Jan 2009 08:18:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoqiu369/archive/2009/01/05/249937.html</guid><wfw:comment>http://www.blogjava.net/xiaoqiu369/comments/249937.html</wfw:comment><comments>http://www.blogjava.net/xiaoqiu369/archive/2009/01/05/249937.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoqiu369/comments/commentRss/249937.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoqiu369/services/trackbacks/249937.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;1.we receive a new request for a page&nbsp;to our rails application.<br />
&nbsp;&nbsp;&nbsp;&nbsp;2.Rails routes this request to a controller for processing.<br />
&nbsp;&nbsp;&nbsp;&nbsp;3.Our controller interacts with the models in our application to gather the necessary data<br />
&nbsp;&nbsp;&nbsp;&nbsp;4.Our model may retrive or insert data to our database<br />
&nbsp;&nbsp;&nbsp;&nbsp;5.Once our models have generated or retrived correct information,they return the data back to the collection<br />
&nbsp;&nbsp;&nbsp;&nbsp;6.The controller collects all of the data it's received from models and selects a view template to render<br />
&nbsp;&nbsp;&nbsp;&nbsp;7.The view template is rendered using&nbsp; the data that the collection gathered and handed to&nbsp; the web server<br />
&nbsp;&nbsp;&nbsp;&nbsp;8.An html page is returned to the user.<img src ="http://www.blogjava.net/xiaoqiu369/aggbug/249937.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoqiu369/" target="_blank">bobqiu</a> 2009-01-05 16:18 <a href="http://www.blogjava.net/xiaoqiu369/archive/2009/01/05/249937.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ROR第一课:hello world</title><link>http://www.blogjava.net/xiaoqiu369/archive/2008/12/23/247935.html</link><dc:creator>bobqiu</dc:creator><author>bobqiu</author><pubDate>Tue, 23 Dec 2008 08:46:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoqiu369/archive/2008/12/23/247935.html</guid><wfw:comment>http://www.blogjava.net/xiaoqiu369/comments/247935.html</wfw:comment><comments>http://www.blogjava.net/xiaoqiu369/archive/2008/12/23/247935.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoqiu369/comments/commentRss/247935.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoqiu369/services/trackbacks/247935.html</trackback:ping><description><![CDATA[按照惯例,还是打印出Hello world.<br />
<br />
/app/controllers/<span style="color: #ff0000">stories_controllers.rb</span>:<br />
<br />
<span style="color: #339966">class StoriesController&lt;ActionControllers::Base<br />
&nbsp;&nbsp;&nbsp;&nbsp;def index<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@varies="hello world"<br />
&nbsp;&nbsp;&nbsp;&nbsp;end<br />
end</span><br />
<br />
/views/stories/index.html.erb:<br />
<br />
<span style="color: #339966">&lt;%=@varies%&gt;</span><br />
<span style="color: #ff0000"><br />
/config/routes.rb<br />
</span><br />
<span style="color: #339966">ActionController::Routing::Routes.draw do |map|<br />
&nbsp;&nbsp;&nbsp;&nbsp;map 'stories',:controller=&gt;'stories',:action=&gt;'index'<br />
end<br />
</span><br />
<font style="color: #000000" color="#339966">启动服务在IE中打开:<br />
http://localhost:3000/stories<br />
OK</font><img src ="http://www.blogjava.net/xiaoqiu369/aggbug/247935.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoqiu369/" target="_blank">bobqiu</a> 2008-12-23 16:46 <a href="http://www.blogjava.net/xiaoqiu369/archive/2008/12/23/247935.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>未处理的 NetStatusEvent</title><link>http://www.blogjava.net/xiaoqiu369/archive/2008/12/22/247826.html</link><dc:creator>bobqiu</dc:creator><author>bobqiu</author><pubDate>Mon, 22 Dec 2008 13:39:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoqiu369/archive/2008/12/22/247826.html</guid><wfw:comment>http://www.blogjava.net/xiaoqiu369/comments/247826.html</wfw:comment><comments>http://www.blogjava.net/xiaoqiu369/archive/2008/12/22/247826.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoqiu369/comments/commentRss/247826.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoqiu369/services/trackbacks/247826.html</trackback:ping><description><![CDATA[正在尝试使用 URL E:\eclipse3.1.2\workspace\red51\fla\test51.swf 启动并连接到播放器<br />
解压缩后字节数为 [SWF] E:\eclipse3.1.2\workspace\red51\fla\test51.swf - 2703<br />
Error #2044: 未处理的 NetStatusEvent:。 level=error, code=NetConnection.Connect.Failed<br />
&nbsp;at test51_fla::MainTimeline/test51_fla::frame1()[test51_fla.MainTimeline::frame1:1]<br />
<br />
<br />
解决办法 :添加红颜色部分代码/<br />
<br />
<p>var nc:NetConnection=new NetConnection();<br />
nc.connect("rtmp://localhost/red51");<br />
nc.objectEncoding=ObjectEncoding.AMF0;<br />
var so:SharedObject=SharedObject.getRemote("mo",nc.uri,false);<br />
<span style="color: red">nc.addEventListener(NetStatusEvent.NET_STATUS,netStatusEventHandle);</span></p>
<p><span style="color: red">function netStatusEventHandle(e:NetStatusEvent):void {<br />
&nbsp;&nbsp;&nbsp;&nbsp; trace(e.toString);<br />
}<br />
</span></p><img src ="http://www.blogjava.net/xiaoqiu369/aggbug/247826.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoqiu369/" target="_blank">bobqiu</a> 2008-12-22 21:39 <a href="http://www.blogjava.net/xiaoqiu369/archive/2008/12/22/247826.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>as2.0+red5+spring jdbc</title><link>http://www.blogjava.net/xiaoqiu369/archive/2008/12/21/247657.html</link><dc:creator>bobqiu</dc:creator><author>bobqiu</author><pubDate>Sun, 21 Dec 2008 14:12:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoqiu369/archive/2008/12/21/247657.html</guid><wfw:comment>http://www.blogjava.net/xiaoqiu369/comments/247657.html</wfw:comment><comments>http://www.blogjava.net/xiaoqiu369/archive/2008/12/21/247657.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoqiu369/comments/commentRss/247657.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoqiu369/services/trackbacks/247657.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: call.fla:&nbsp;1nc&nbsp;=&nbsp;new&nbsp;NetConnection();&nbsp;2nc.connect("rtmp://localhost/red5");&nbsp;3nc.onResult&nbsp;=&nbsp;function(obj)&nbsp;{&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;...&nbsp;&nbsp;<a href='http://www.blogjava.net/xiaoqiu369/archive/2008/12/21/247657.html'>阅读全文</a><img src ="http://www.blogjava.net/xiaoqiu369/aggbug/247657.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoqiu369/" target="_blank">bobqiu</a> 2008-12-21 22:12 <a href="http://www.blogjava.net/xiaoqiu369/archive/2008/12/21/247657.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Rails Routing from the Outside In</title><link>http://www.blogjava.net/xiaoqiu369/archive/2008/12/19/247327.html</link><dc:creator>bobqiu</dc:creator><author>bobqiu</author><pubDate>Fri, 19 Dec 2008 06:12:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoqiu369/archive/2008/12/19/247327.html</guid><wfw:comment>http://www.blogjava.net/xiaoqiu369/comments/247327.html</wfw:comment><comments>http://www.blogjava.net/xiaoqiu369/archive/2008/12/19/247327.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoqiu369/comments/commentRss/247327.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoqiu369/services/trackbacks/247327.html</trackback:ping><description><![CDATA[<p>Rails Routing from the Outside In<br />
http://guides.rails.info/routing_outside_in.html<br />
这篇文章将介绍Rails routing针对用户方面的一些特性.参考这篇文章,你将会学到以下知识:<br />
a.理解routing的作用<br />
b.破解routes.rb内的代码<br />
c.构建你自己的routes,可以用classic hash样式或现在流行的RESTful样式.<br />
d.识别route怎样与controller和action映射.</p>
<p>1.The Dual Purpose of Routing</p>
<p>Rails routing 有两种机制,你可以将trees转换为pager,或把paper转换回trees.具体地说,它可以连接收到的请求与你应用程序的控制器的代码和帮你生成URLs,而不用做为一个字符串硬编码.</p>
<p>1.1connecting URLs to Code;<br />
当你的应用程序收到的请求为:<br />
GET /patients/17<br />
Rails里的路由引擎就是一段分发这个请求到应用程序合适的位置进行处理的一段代码.在这个案例中,这个应用程序很可能以运行patients控制器里的show结束.显示patients ID为17的详细信息.</p>
<p>1.2 Generateing URLs from Code<br />
Routing 也可以反过来运行,如果你的应用程序中包含这样的代码:</p>
<p>@patient=Patient.find(17)<br />
&lt;%= link_to "Patient Record",patient_path(@patient)%&gt;</p>
<p>这时路由引擎转换这个链接到一个URL:http://example.com/patients/17.以这种方式你可以降低应用程序的脆弱性,使你的代码更加容易阅读和理解.</p>
<p>Patient 必须作为一个resource被声明为一个资源,通过named route来转换.</p>
<p>2.Quick Tour of Routes.rb</p>
<p>在Rails中routing有两种组件,routing engine本身,它做为Rails的一部分,config/routes.rb文件,它包含实际的可用在应用程序中的routes.</p>
<p>2.1 Processing the File<br />
在形式上,Routes.rb文件也就是一个大大的block,会被放入ActionController::Routing::Routes.draw.<br />
在这个文件中有五种主要的样式:<br />
RESTful Routes<br />
Named Routes<br />
Nested Routes<br />
Regular Routes<br />
Default Routes</p>
<p>2.2 RESTful Routes<br />
RESTful Routes 利用rails嵌入式REST方法来将routing的所有信息包装为一个单独的声明.eg: map.resource :books</p>
<p>2.3 named Routes<br />
named routes 在你的代码中给你很可读的链接,也可以处理收到的请求</p>
<p>map.login '/login' ,:controller=&gt;'session',:action=&gt;'new'</p>
<p>2.4 Nested routes</p>
<p>Nested routes可以在一个资源里声明另一个资源.</p>
<p>map.resources :assemblies do |assemblies|<br />
&nbsp;assemblies.resources :parts<br />
end</p>
<p>2.5 Regular Routes<br />
map.connect 'parts/:number',:controller=&gt;'inventory',:action=&gt;'show'</p>
<p>2.6 Default Routes<br />
map.connect ':controller/:action/:id'<br />
map.connect ':controller/:action/:id.:format'<br />
</p>
  <img src ="http://www.blogjava.net/xiaoqiu369/aggbug/247327.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoqiu369/" target="_blank">bobqiu</a> 2008-12-19 14:12 <a href="http://www.blogjava.net/xiaoqiu369/archive/2008/12/19/247327.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Routes</title><link>http://www.blogjava.net/xiaoqiu369/archive/2008/12/16/246553.html</link><dc:creator>bobqiu</dc:creator><author>bobqiu</author><pubDate>Tue, 16 Dec 2008 01:58:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoqiu369/archive/2008/12/16/246553.html</guid><wfw:comment>http://www.blogjava.net/xiaoqiu369/comments/246553.html</wfw:comment><comments>http://www.blogjava.net/xiaoqiu369/archive/2008/12/16/246553.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoqiu369/comments/commentRss/246553.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoqiu369/services/trackbacks/246553.html</trackback:ping><description><![CDATA[<p>routes:</p>
<p>routes的命名允许你减少重复的代码,通过分配一个根据生成一个封装routes rule hash的方法的路径规则名称来实现,<br />
你可以定义一个命名路径,你可以调用它在你的routes.rb文件中来代替connect方法.<br />
例如:<br />
map.home '',:controller=&gt;'main',:action=&gt;'start'<br />
这只是为你做了很少的一点事.首先,它创建一个名为home_url的方法.因此上面的命名规则,前期的请求为:<br />
&nbsp;redirect_to :controller=&gt;'main',:action=&gt;'start' 现在为:<br />
&nbsp;redirect_to home_url </p>
<p>因为*_to方法被重写的方式,在上面的情况,你没有将参数传递给命名路径,你也可以将它传递给一个引用的方法.<br />
&nbsp;redirect_to :home_url </p>
<p>注意:将命名路径做为一个符号已经取消了,在rails2.0将被删除.</p>
<p>这个也能应用于是tests.如果在你的controller里有redirect_to home_url,也可以用 assert_redirect_to home_url. </p>
<p>*_url方法需要一个唯一的可选参数.这个参数是一个hash,插入url_for之中,这样做就是为了当用redirect_to,link_to时命名规则可以参数化.</p>
<p>你如果说有这样的route</p>
<p>&nbsp;map.user_page 'users/:user',:controller=&gt;'users',:action=&gt;'show' </p>
<p>你可以这样做</p>
<p>&nbsp;link_to @user.username,user_page_url(:user=&gt;@user) </p>
<p>注释:这个仅仅象普通的routes,表单是path_part/:symbol.在上面的例子中,user这部分将只展示在路径中,并不严格与controller相关联.users/只是path生成的部分,<br />
上面的例子生成&lt;a href="http://localhost/users/7"&gt;http://localhost/users/7&lt;/a&gt;<br />
比如:</p>
<p>:user 是你定义的参数名称,如果定义两个一模一样的路径,很可能得不到你想要的结果.对于routes,定义默认值.</p>
<p>当用参数来命名routes,你必须传递参数给assert中的命名规则.如果在你的controller中有redirect_to user_page_url(:user=&gt;@user), 你需要有assert_redirected_to user_page_url(:user=&gt;@user).controller中@user的id必须与test中的@user的id匹配.</p>
<p>除了[route_name]_url方法,你可以用hash_for_[route_name]_url方法,这个方法包装hash,没有调用url_for</p>
<p>所有的reoute将其它的命名规则用map.connect提供给你.</p>
  <img src ="http://www.blogjava.net/xiaoqiu369/aggbug/246553.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoqiu369/" target="_blank">bobqiu</a> 2008-12-16 09:58 <a href="http://www.blogjava.net/xiaoqiu369/archive/2008/12/16/246553.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>