什么这个红宝石功能做

在这个项目中,我在捅,(我是PHP开发,而不是回报率),对一个模式这一功能。

def task @task ||= if search_key Project.trop_fish.tasks.find(:first, :conditions => ["description like ?", "Search key: #{search_key}%"]) else Project.trop_fish.tasks.find(:first, :conditions => ["(name = ? OR name like ?)","#{task_name}","#{task_name} {%}"]) end end

因此它试图找到一个任务,从名为trop_fish项目。 但什么的@task在顶部。

它是从if块到@task分配发现的结果?

它是一样的

def task if search_key @task = Project.trop_fish.tasks.find(:first, :conditions => ["description like ?", "Search key: #{search_key}%"]) else @task = Project.trop_fish.tasks.find(:first, :conditions => ["(name = ? OR name like ?)","#{task_name}","#{task_name} {%}"]) end end

--------------解决方案-------------

差不多,不完全是。 这是同样的事情,这样的:

def task
if search_key
@task ||= Project.trop_fish.tasks.find(:first, :conditions => ["description like ?", "Search key: #{search_key}%"])
else
@task ||= Project.trop_fish.tasks.find(:first, :conditions => ["(name = ? OR name like ?)","#{task_name}","#{task_name} {%}"])
end
end

所述||=表示该变量将仅被设置为新值,如果它不被使用不同的值进行设置。 至于有些人评论人士指出/把它更简单, @task将如果它被设置为新的值nilfalse

由迈克尔·哈特尔RoR的教程的这一部分是一个很好的解释||=操作符。

@pguardino带来了在一个PHP程序员一个好点的可能不熟悉的事实,如果没有明确的return在红宝石的方法内声明,它将返回的最后一个非条件语句的方法,因为它的返回值,所以,是的, @task被返回。

有一个在回报率教程这就解释了为什么是有利的使用文本的另一位||=从方法返回时,运营商。 因为这意味着到第一次调用它是有用的task方法对数据库执行操作来检索任务,但后续到同一个线程中的方法调用将返回@task而不进行调用数据库(因为@task变量已经被设定。

分类:Ruby on Rails的 时间:2012-02-12 人气:0
本文关键词: 红宝石,Ruby on Rails的
分享到:

相关文章

  • 红宝石/ Ruby on Rails的,连续的循环轮询数据库 2013-10-03

    所以,我有几个外部数据库和我想要得到相当接近实时的数据传输. 我会只是做一个简单的查询如: select count(total) from invoices where date = 'today'; // pseudo code 所以我想找到一种方法,不断打电话,可为天/月结束上没有问题运行数据库查询,如果有问题,自愈/重启 建议?

  • Web服务:PHP或Ruby on Rails的或Python? 2013-10-16

    我是通过我白天工作一个.net / SQL Server开发,并在身边,我做了一些客观的C开发的iPhone. 我想开发一个Web服务,自Dreamhost的支持MySQL,Python和Ruby on Rails和PHP5,我想用这些语言之一,它来创建. 如果你有在任Python和Ruby on Rails的或PHP没有经验,你会去,为什么? 这项服务基本上只需要一个请求,会谈到MySQL数据库. 注:正计划使用SOAP协议..虽然我很愿意听取建议,因为我有一个干净的石板用这些语言. ----

  • on Rails的捆绑问题上TextMate的红宝石,你对HTML(Rails)的模式和Ruby on Rails的模式有什么区别? 2012-12-19

    当使用开发Rails项目Textmate ,也有一些相关的模式. 当按下WIN + Alt + Shift + R键,你会得到模式的列表: 红宝石 HTML(滑轨) Ruby on Rails的(RJS) Ruby on Rails的 SQL(滑轨) 我想知道的区别HTML (Rails)和Ruby on Rails . 任何人都可以解释一下吗? 谢谢. --------------解决方案------------- Ruby on Rails的模式是与控制器/型号/助理等工作 HTML(Rai

  • 红宝石和/或Ruby on Rails的,这是个问题,从非编码器 2013-06-20

    我是一个非编码器,我非常擅长的HTML. 我要自我教自己的Ruby和Ruby on Rails的,因为我听说这是一个很好的技能有,但是特别是因为它也许是得知与我的HTML背景一件容易的第一语言. 我想创造我的网页,这将目录我的照片,使用Ruby on Rails. 对于非编码HTML的用户像我一样,这将是一个平滑的过渡: 1)回报率前红宝石 要么 2)同时学习既 谢谢! --------------解决方案------------- 我是在同第一阶段一个月就恢复你现在在哪里. 2例在这里: 从第

  • 红宝石FTP通过明确的TLS /在Ruby on Rails的SSL 2013-11-10

    可能重复: 在Ruby on Rails应用程序FTPS(TLS / SSL) 嗨伙计, 如何从红宝石(ROR)连接到FTPS(FTP通过明确的TLS / Ruby的Rails的对SSL)主机? 谷歌搜索并没有提供答案. --------------解决方案------------- 找到了解决方法:我们可以用lftp实用工具,然后从红宝石调用它. lftp -f file_with_command 其中"file_with_command'文件,我们指定: lftp -u %s,%s %s g

  • 请问主机托管服务提供商,以支持“Ruby on Rails的”或“只是红宝石”,以运行Rails? 2013-11-12

    是否主机托管服务提供商必须支持"Ruby on Rails的"或"只是红宝石",以运行Rails? 我知道主要是PHP和问自己,"Ruby on Rails的"行为与红宝石......就像"Zend框架",以PHP:只是一堆PHP文件,我可以在我的项目文件夹中复制,我的主机供应商只需要支持PHP. 我问我的主机只支持Ruby(而不是Rails的). 如果我couild只是在项目中复制轨道上SFTP,我想给它一个尝试. ----

  • 可红宝石降价呈现? Ruby on Rails的应用 2014-04-21

    是否有可能使用降价红宝石在我的Ruby on Rails应用程序? 我使用了隆重的接待宝石,我有我的应用程序控制器下. class ApplicationController < ActionController::Base before_filter :get_contact_info private def get_contact_info @contact = Contact.last end end 下面是联系的架构 create_table "contacts", :f

  • 老红宝石bug在我的反复出现的Ruby on Rails的应用程序,涉及到Class.create和的delayed_job 2014-06-25

    该缺陷是很多个月大,在这里: http://www.ruby-forum.com/topic/1094002 两个链接在其中显示代码更改: https://github.com/godfat/ruby/commit/f4e0e8f781b05c767ad2472a43a4ed0727a75708 https://github.com/godfat/ruby/commit/c7a6cf975d88828c2ed27d253f41c480f9b66ad6 我有红宝石1.9.2和RVM. 我会粘贴这些

  • Ruby on Rails的 - 新的红宝石的帮助耙分贝:迁移 2014-07-12

    我是新用户Ruby on Rails和时遇到的一个问题: rake db:migrate . 之后,我捆绑安装,下面出现: $ bundle install Using rake (0.9.2) Using abstract (1.0.0) Using activesupport (3.0.9) Using builder (2.1.2) Using i18n (0.5.0) Using activemodel (3.0.9) Using erubis (2.6.6) Using rack (1

  • 红宝石1.8.7 - 1.9.2的Ruby和Rails 3.0.0“编码”型号名称冲突 2014-08-14

    我有一个Rails 3.0.0应用程序,有一个名为"编码"模式,目前在1.8.7运行良好. 我想升级到1.9.2,但名字"编码"是相冲突与Ruby的版本. 我试图创建一个新的项目,并运行时, rails g model encoding与1.9.2它抱怨,并提供: 名称'编码'要么是已经在你的应用程序或Ruby on Rails的保留. 请选择其他,然后再次运行这个生成器. 当我最初创建在1.8.7工程,发电机并没有抱怨. 难道我有什么选择升级到红宝石1.9.2,而

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.610 (s). 10 q(s)