标签: ruby

收益率和默认情况|| 不输出默认情况

我有一个简单的yield用例,由于某些未知原因,默认情况从未显示:

在我的super_admin布局中,我有:

<%= yield :body_id || 'super_admin_main' %>
Run Code Online (Sandbox Code Playgroud)

我的控制器

class Superadmin::GolfsController < ApplicationController
  layout "super_admin"

  def show 

  end
end
Run Code Online (Sandbox Code Playgroud)

我的秀视图

有还是没有

<% content_for(:body_id) do %>sadmin_golfs<% end %>
Run Code Online (Sandbox Code Playgroud)

随着:sadmin_golfs显示.

without:显示空字符串而不是super_admin_main

任何人都可以重现相同的行为吗?

ruby ruby-on-rails view ruby-on-rails-3

9
推荐指数
2
解决办法
4960
查看次数

如何使用Test :: Unit跳过某些测试

在我的一个项目中,我需要与几个后端系统协作.其中一些有些缺乏文档,部分因此我有一些测试代码与一些测试服务器交互只是为了看到一切按预期工作.但是,访问这些服务器的速度非常慢,因此我不希望每次运行测试套件时都运行这些测试.

我的问题是如何处理你想跳过某些测试的情况.目前我使用环境变量'BACKEND_TEST'和条件语句来检查是否为我想跳过的每个测试设置了变量.但有时我想跳过测试文件中的所有测试,而不必在每个测试的开头添加额外的行.

必须与测试服务器交互的测试并不多,因为我在其他情况下使用flexmock.但是,你不能嘲笑自己远离现实.

从这个问题的标题可以看出,我正在使用Test :: Unit.此外,如果它有任何区别,该项目是一个Rails项目.

ruby testing ruby-on-rails testunit

9
推荐指数
2
解决办法
7851
查看次数

是否可以用Nokogiri解析样式表?

我花了两个小时谷歌搜索这个,我找不到任何好的答案,所以让我们看看人类是否可以击败谷歌的电脑.

我想在Ruby中解析一个样式表,以便我可以将这些样式应用于我的文档中的元素(以使样式内联).所以,我想采取类似的东西

<style>
.mystyle {
  color:white;
}
</style>
Run Code Online (Sandbox Code Playgroud)

并能够将其提取到某种Nokogiri对象中.

在引入nokogiri类"CSS ::分析器"(http://nokogiri.rubyforge.org/nokogiri/Nokogiri/CSS/Parser.html)肯定有前途的名字,但我找不到它是什么或如何任何文件它有效,所以我不知道它是否可以做我在这之后的事情.

我的最终目标是能够编写如下代码:

a_web_page = Nokogiri::HTML(html_page_as_string)
parsed_styles = Nokogiri::CSS.parse(html_page_as_string)
parsed_styles.each do |style| 
  existing_inlined_style = a_web_page.css(style.declaration) || ''
  a_web_page.css(style.declaration)['css'] = existing_inlined_style + style.definition
end
Run Code Online (Sandbox Code Playgroud)

这将从样式表中提取样式,并将它们全部作为内联样式添加到我的文档中.

css ruby nokogiri css-parsing

9
推荐指数
2
解决办法
4244
查看次数

使用RMagick和Ruby将.pdf转换为图像

我想拍一个pdf并将其转换成图像......每个pdf页面都成为一个单独的图像.

这里有类似的帖子:将.doc或.pdf转换为图像并在Ruby中显示缩略图? 但它没有涵盖如何为每个页面制作单独的图像.

ruby pdf ruby-on-rails rmagick imagemagick

9
推荐指数
2
解决办法
2万
查看次数

Ruby On Rails:用于其他语言的复数形式

我正在为非英语用户构建应用程序.现在,我使用英语名词命名我的模型,但我更喜欢使用原生荷兰语.由于约定使用了表的多个类名,我假设它是Rails中的复数方法(它所在的位置,我不知道).如何更改复数方法及其位置?这会破坏Rails吗?

我使用的是Rails 2.3.5和Ruby 1.8.7

示例:Book类现在成为书籍.我的Boek课程变得很神圣,但使用boeken在语法上是正确的

ruby customization ruby-on-rails internationalization

9
推荐指数
1
解决办法
4030
查看次数

使用Delayed :: Job来管理多个作业队列

我想使用Delayed :: Job(或者更合适的作业队列来解决我的问题)将作业分派给多个后台守护进程.

我有几个背景守护进程执行不同的职责.每个人都对Rails应用程序中队列中的不同作业感兴趣.这可能是使用Delayed :: Job,或者是否有更好的工作队列更适合这项任务?

ruby ruby-on-rails delayed-job

9
推荐指数
2
解决办法
7400
查看次数

在Vim中进行Ruby重构

我是Visual Studio中Resharper的忠实粉丝.它有一些很棒的重构工具,类似于Eclipse for Java中的工具.Ruby有这样的东西吗?更好的是,Vim中是否有一个插件或其他东西可以重构Ruby代码,比如重命名方法或变量的所有实例,在全站点重命名类等等?

ruby vim refactoring

9
推荐指数
2
解决办法
1892
查看次数

Sinatra的限制是什么?

我最近一直在学习Ruby Web框架Sinatra,我发现它很棒.我读过的关于它的大多数文章和博客似乎都认为它仅适用于小型网站或"小型"网络应用程序.这是真的?可以在Sinatra中构建完整的Web应用程序,还是Ruby on Rails?

ruby model-view-controller ruby-on-rails sinatra

9
推荐指数
2
解决办法
1126
查看次数

如何将ruby包捆绑到[Objective-C]可可应用程序中?

I'm trying to figure out how I could bundle a package, written in Ruby (Sass) into a Cocoa application (Objective-C, not Ruby Cocoa) for me to execute (via NSTask is fine, unless there is an easy way to bridge ObjC<->Cocoa that I'm not aware of).

The Sass package is something you have to install, using "gem install" or "rake install" -- doing so puts a ton of files in my ~/.gem directory. Since I want anybody who has …

ruby cocoa sass objective-c

9
推荐指数
1
解决办法
698
查看次数

使用ActiveSupport的默认TimeZone(不带Rails)

如何在ActiveSupport中设置默认TimeZone?

这是发生了什么:

irb -r 'rubygems'
ruby-1.8.7-p174 > require 'active_support' 
ruby-1.8.7-p174 > require 'active_support/time_with_zone'
ruby-1.8.7-p174 > Time.zone
ruby-1.8.7-p174 > nil
Run Code Online (Sandbox Code Playgroud)

默认情况下如何将其设置为当前位置?

ruby timezone activesupport

9
推荐指数
2
解决办法
6897
查看次数