我正在使用rspec测试我的模型的验证,并期待一条错误消息.但是,消息的确切文本可能会发生变化,所以我想要更宽容一些,只检查部分消息.
由于Spec :: Matchers :: include方法仅适用于字符串和集合,我目前正在使用此构造:
@user.errors[:password].any?{|m|m.match(/is too short/)}.should be_true
Run Code Online (Sandbox Code Playgroud)
这有效,但对我来说似乎有点麻烦.是否有更好的(即更快或更像红宝石)方式来检查数组是否包含正则表达式包含的字符串,或者可能是这样做的rspec匹配器?
我正在尝试编写集成测试,如果用户单击按钮,它会在数据库中创建一条新记录(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表?
谢谢.
我有点新手问题.我正试图将一个变量从我的视图传递给我的控制器.无论如何我的控制器中的方法可以从我的视图中接收变量吗?
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
如果你在不同的浏览器中截取屏幕截图这个网页,你会发现它在firefox中显示略有不同.(7.01,ubuntu)
起初我以为是因为颜色配置文件,但即使我在firefox中启用了颜色管理,问题仍然存在.
虽然这不是一个非常明显的问题,但我找到了一个完美主义的老板,他要求在每个浏览器中使它看起来完全一样.有谁知道可能导致问题的原因是什么?谢谢!

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

我正在按照此处的教程进行操作.这很简单,我按照说明完全按照步骤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) 我已经运行了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无关.
在官方文件没有明确规定.我理解EOFError的意思是"文件结束错误",但究竟是什么意思呢?如果文件阅读器到达文件末尾,那对我来说听起来不是一个错误.
我无法实现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)
谢谢你的建议.
有人可以解释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
嗨,我有一个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)
有谁知道怎么做?