小编Thi*_*ilo的帖子

RSpec:通过正则表达式匹配字符串数组

我正在使用rspec测试我的模型的验证,并期待一条错误消息.但是,消息的确切文本可能会发生变化,所以我想要更宽容一些,只检查部分消息.

由于Spec :: Matchers :: include方法仅适用于字符串和集合,我目前正在使用此构造:

@user.errors[:password].any?{|m|m.match(/is too short/)}.should be_true
Run Code Online (Sandbox Code Playgroud)

这有效,但对我来说似乎有点麻烦.是否有更好的(即更快或更像红宝石)方式来检查数组是否包含正则表达式包含的字符串,或者可能是这样做的rspec匹配器?

ruby rspec ruby-on-rails

14
推荐指数
5
解决办法
1万
查看次数

对于rspec匹配器中的模型计数,"nil不是符号"

我正在尝试编写集成测试,如果用户单击按钮,它会在数据库中创建一条新记录(CheckPrice模型).

nil is not a symbol尝试运行测试时遇到错误.

require 'spec_helper'

describe 'CheckPrice', type: :request, js: true  do
  it "should create a new CheckPrice record when user clicks Check Price on topic page" do
    city = create :city
    hotel = create :hotel
    affiliate_link = create :affiliate_link

    visit '/hotel-bilboa-hotel'
    sleep 2
    click_button "Check Prices"
    response.should change(CheckPrice.count).by(1)
  end
end
Run Code Online (Sandbox Code Playgroud)

单击"检查价格"时,会有一个事件侦听器触发checkprices_controller中的新方法.

错误似乎发生在最后一行response.should change(CheckPrice.count).by(1).看起来该方法无法识别模型CheckPrice.如何引用CheckPrice表?

谢谢.

tdd rspec ruby-on-rails capybara ruby-on-rails-3

12
推荐指数
2
解决办法
4916
查看次数

将参数从视图传递到控制器

我有点新手问题.我正试图将一个变量从我的视图传递给我的控制器.无论如何我的控制器中的方法可以从我的视图中接收变量吗?

Post view: show.html.erb:
....
<%=link_to "Add relationship", :method => :add_relationship(@rela) %>
Run Code Online (Sandbox Code Playgroud)
Controller: post.controller.rb:

 def add_relationship(rela)
  @post = Post.find(params[:id])

  if current_user.id == @post.user_id
    @post.rel_current_id = rela.id
    @post.save
    redirect_to relationships_url
  else
    redirect_to posts_url, :notice => "FY!"
  end
end
Run Code Online (Sandbox Code Playgroud)

提前致谢 :)

ruby controller ruby-on-rails parameter-passing ruby-on-rails-3.1

12
推荐指数
1
解决办法
5万
查看次数

为什么这个PNG文件根据浏览器的不同而有所不同?

如果你在不同的浏览器中截取屏幕截图这个网页,你会发现它在firefox中显示略有不同.(7.01,ubuntu)

起初我以为是因为颜色配置文件,但即使我在firefox中启用了颜色管理,问题仍然存在.

虽然这不是一个非常明显的问题,但我找到了一个完美主义的老板,他要求在每个浏览器中使它看起来完全一样.有谁知道可能导致问题的原因是什么?谢谢!

蓝色图像

比较的屏幕截图:您可能仍然无法看到差异,但如果您下载屏幕截图并使用图像编辑器检查2个浏览器中的颜色,您会发现确实存在差异.

色差的屏幕截图

png colors cross-browser

11
推荐指数
1
解决办法
1279
查看次数

rails undefined方法`each'代表nil:NilClass

我正在按照此处的教程进行操作.这很简单,我按照说明完全按照步骤6.7进行操作.此时,我收到错误

undefined method `each' for nil:NilClass 
Run Code Online (Sandbox Code Playgroud)

当我尝试访问rails服务器上的index.html.erb时.

我知道数据库工作正常,因为我可以完成步骤6.3中提到的所有内容,创建新帖子并显示/编辑/销毁它们绝对没有问题.

具体来说,问题在于线

<% @posts.each do |post| %>
Run Code Online (Sandbox Code Playgroud)

它基本上声称@posts是零.

我很欣赏这个ROR新手的任何帮助!谢谢.

index.html.erb

<h1>Hello, Rails!</h1>
<table>
  <tr>
    <th>Name</th>
    <th>Title</th>
    <th>Content</th>
    <th></th>
    <th></th>
    <th></th>
  </tr>

<% @posts.each do |post| %>
  <tr>
    <td><%= post.name %></td>
    <td><%= post.title %></td>
    <td><%= post.content %></td>
    <td><%= link_to 'Show', post %></td>
    <td><%= link_to 'Edit', edit_post_path(post) %></td>
    <td><%= link_to 'Destroy', post, :confirm => 'Are you sure?',
                                     :method => :delete %></td>
  </tr>
<% end %>
</table>

<br />

<%= link_to "My …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

11
推荐指数
1
解决办法
3万
查看次数

Apache挂起了mod_wsgi + django

我已经运行了Apache + mod_wsgi + django.出于某种原因,服务器上的某些内容发生了变化,现在apache完全挂起 - 它停止响应所有其他请求,并且必须停止并启动 - 当我发布请求时.最终我们看到"脚本标题过早结束:django.wsgi"错误.

我们做了一个strace,我看到一件似乎可疑的事情是"GATEWAY_INTERFACE\0CGI/1.1\0SERVER_PROTOCOL ......"(我们也看到发布了关机.)

"GATEWAY_INTERFACE\0CGI/1.1"是否指定它是为CGI而不是WSGI设置的?(我已经读过,如果将脚本设置为CGI,则会导致脚本过早结束.)

我们的虚拟主机指定:

WSGIDaemonProcess [host] threads=25
WSGIProcessGroup [host]
WSGIScriptAlias / /path/to/apache/django.wsgi
Run Code Online (Sandbox Code Playgroud)

我只是在加载WSGI模块的httpd.conf中看到与CGI无关.

apache django mod-wsgi

11
推荐指数
1
解决办法
2149
查看次数

Ruby文件I/O中的EOFError是什么?

官方文件没有明确规定.我理解EOFError的意思是"文件结束错误",但究竟是什么意思呢?如果文件阅读器到达文件末尾,那对我来说听起来不是一个错误.

ruby file-io eoferror

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

单选按钮列表布局ASP .Net

我无法实现radiobuttonlist的所需布局.我希望输出看起来像下面的图像.

这是我想要实现的目标的链接:

http://skitch.com/hiraldesai/fcfn9/radio-button-layout

这是我的代码试图实现上述,但我无法以编程方式获取单选按钮上方的文本.它是CSS的东西吗?我尝试过RepeatLayout,RepeatDirection,RepeatColumns,TextAlign等许多不同的组合.

AnswerRadioButtons.RepeatLayout = RepeatLayout.Table
AnswerRadioButtons.RepeatDirection = RepeatDirection.Horizontal                            
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议.

css asp.net radiobuttonlist

10
推荐指数
1
解决办法
5万
查看次数

测试ActiveSupport :: TimeWithZone对象是否相等

有人可以解释d1如何大于d2?他们是相同的日期(或至少他们看起来如何).

Loading development environment (Rails 3.0.8)
ruby-1.9.2-p180 :001 > d1 = Event.first.updated_at
 => Thu, 22 Sep 2011 02:24:28 PDT -07:00 
ruby-1.9.2-p180 :002 > d2 = Time.zone.parse("2011-09-22T02:24:28-07:00")
 => Thu, 22 Sep 2011 02:24:28 PDT -07:00 
ruby-1.9.2-p180 :003 > d1.class
 => ActiveSupport::TimeWithZone 
ruby-1.9.2-p180 :004 > d2.class
 => ActiveSupport::TimeWithZone 
ruby-1.9.2-p180 :005 > d1 > d2
 => true 
ruby-1.9.2-p180 :006 > 
Run Code Online (Sandbox Code Playgroud)

关于我的特定应用程序需求...我有一个iOS应用程序向我的Rails应用程序发出请求,传递一个JSON对象,其中包括格式为"2011-09-22T02:24:28-"的NSDates 07:00".我试图将该日期时间与ActiveSupport :: TimeWithZone类型的"updated_at"进行比较.

谢谢 - wg

ruby datetime compare activesupport ruby-on-rails-3

10
推荐指数
1
解决办法
2540
查看次数

rails 3 link_to与嵌套的content_tag一起创建<带有嵌套span的href - 如何?

嗨,我有一个noob问题,我想创建以下HTML结果:

<a href="/controller/action" class="button-big layer">TEXT<span class="arrow-big"></span></a>
Run Code Online (Sandbox Code Playgroud)

在上面的HTML中,我希望通过css将带有span-class的文本设置为图像样式.

当我尝试以下实现时,结果只反映了所需实现的一部分:

<%= link_to "TEXT", controller_path, :class => "button-big layer" %>
Run Code Online (Sandbox Code Playgroud)

结果是:

<a href="/controller/action" class="button-big layer">TEXT</a>
Run Code Online (Sandbox Code Playgroud)

<%= link_to(content_tag(:span, "", :class => "arrow-big"), controller_path, :class => "button-big layer") %>
Run Code Online (Sandbox Code Playgroud)

结果是:

<a href="/controller/action" class="button-big layer"><span class="arrow-big"></span></a>
Run Code Online (Sandbox Code Playgroud)

有谁知道怎么做?

href link-to ruby-on-rails-3 content-tag

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