我们最近决定在我的工作,ruby风格指南。 其中一条规定是不得超过80个字符。 由于这是一个Rails项目,所以我们经常会有更长一些的string – 例如“用户X想给您发送一条关于Thing Y的消息”,这个消息并不总是符合80个字符的限制。 我知道有三种方法可以有一个很长的string跨越多行: HEREDOC %Q {} 实际的string连接。 但是,所有这些情况最终都会花费更多的计算周期,这似乎很愚蠢。 显然是string连接,但是对于HEREDOC和%QI,必须通过像.gsub(/ \ n $ /,'')之类的方法去掉换行符。 有没有一个纯粹的语法方式来做到这一点,这相当于只有一行上的整个string? 显然,我们的目标是不花费任何额外的周期,因为我希望我的代码更具可读性。 (是的,我意识到你必须做很多的交易…但是对于string的长度来说,这看起来很愚蠢。) 更新:反斜杠不完全是我想要的,因为你失去了缩进,这真的影响风格/可读性。 例: if foo string = "this is a \ string that spans lines" end 我觉得上面有点难以阅读。 编辑 :我在下面添加了一个答案; 三年后,我们现在有了波折的heredoc。
我已将我的pipe理主题的所有图像放在名为admin的文件夹中的assets文件夹中。 然后我链接到它像正常即。 # Ruby image_tag "admin/file.jpg" ….. #CSS .logo{ background:url('/assetshttp://img.dovov.comadmin/logo.png'); 仅供参考。 只是为了testing,我没有使用asset_path标记,因为我还没有编译我的资产。 好吧,直到我决定更新一个图像。 我更换了一些颜色,但重新加载新样式的图像不显示。 如果我直接在浏览器中查看图像,仍然会显示旧图像。 更进一步,我摧毁了pipe理图像文件夹。 但是它没有打破所有的图像仍然被显示。 是的,我清除了我的caching,并尝试在多个浏览器。 是否有某种forms的图像caching? 这只是使用pow来为页面服务的本地开发。 即使摧毁整个图像文件夹的图像仍然被送达。 我错过了什么吗?
我需要将gem升级到1.8我试图安装各自的debian软件包,但似乎没有得到升级 anujm@test:~$ dpkg -l |grep -i rubygem ii rubygems 1.3.5-1ubuntu2 package management framework for Ruby libraries/applications ii rubygems-lwes 0.8.2-1323277262 LWES rubygems ii rubygems1.8 1.3.5-1ubuntu2 package management framework for Ruby libraries/applications ii rubygems1.9 1.3.5-1ubuntu2 package management framework for Ruby libraries/applications anujm@test:~$ anujm@test:~$ gem gem gem1.8 gem1.9 anujm@test:~$ sudo gem1.8 install serve ERROR: Error installing serve: multi_json […]
运行bundle install命令后,在工作目录中创build“Gemfile.lock ”。 那个文件里的指令是什么意思? 例如,让我们拿下面的文件: PATH remote: . specs: gem_one (0.0.1) GEM remote: http://example.org/ specs: gem_two (0.0.2) gem_three (0.0.3) gem_four (0.0.4) PLATFORMS platform DEPENDENCIES gem_two gem_one! “ PATH ”,“ GEM ”,“ PLATFORMS ”和“ DEPENDENCIES ”是什么形容的? 他们都需要吗? 什么应该包含“ 远程 ”和“ 规格 ”的子目录? “ DEPENDECIES ”组中的gem名称之后的感叹号是什么意思?
虽然我意识到你应该在视图中使用助手,我需要一个助手在我的控制器,因为我build立一个JSON对象返回。 它有点像这样: def xxxxx @comments = Array.new @c_comments.each do |comment| @comments << { :id => comment.id, :content => html_format(comment.content) } end render :json => @comments end 我怎样才能访问我的html_format帮手?
你如何清除IRB控制台屏幕?
你能否详细解释:before_save和:before_create Ruby on Railscallback是什么,以及Railsvalidation需要做什么? validation发生在:before_save或:before_create吗?
我想为Ruby编写一个包,并将其作为一个gem。 什么是工具,步骤和陷阱? 有什么好的教程,屏幕录像等,这有助于你学习如何做到这一点?
我在哪里可以find可以在rails 3中使用的数据types的列表? (如文本,string,整数,浮点数,date等?)我随机学习新的,但我很想有一个我可以轻松引用的列表。
我想知道如何parsing具有以下内容的YAML文件: — javascripts: – fo_global: – lazyload-min – holla-min 目前我正在试图parsing它: @custom_asset_packages_yml = (File.exists?("#{RAILS_ROOT}/config/asset_packages.yml") ? YAML.load_file("#{RAILS_ROOT}/config/asset_packages.yml") : nil) if !@custom_asset_packages_yml.nil? @custom_asset_packages_yml['javascripts'].each{ |js| js['fo_global'].each{ |script| script } } end 但它似乎并没有工作,并给我一个错误,价值为零。 You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occurred while evaluating nil.each 如果我尝试这个,它会放出整个string(fo_globallazyload-minholla-min): if !@custom_asset_packages_yml.nil? […]