我正在尝试使用5星系统按客户评级对一堆产品进行排序.我设置的网站没有很多评级,并继续添加新产品,所以它通常会有一些评级较低的产品.
我尝试使用平均星级评级,但是当评级很少时,该算法会失败.
例如,具有3x5星评级的产品将比具有100x5星评级和2x2星评级的产品更好.
第二个产品是否应该显得更高,因为它在统计上更值得信赖,因为评级数量更多?
我正在尝试测试输入字段是否与我的工厂中的一个字段为空.
address => {:first_name => '', :last_name => ''}
Run Code Online (Sandbox Code Playgroud)
当检查输入字段中的内容时,我一直在使用它:
assert_select '#first_name[value=?]', address.first_name
Run Code Online (Sandbox Code Playgroud)
如果第一个名称为空,则不起作用.我会收到此错误,测试失败.
Expected at least 1 element matching "#first_name[value='']", found 0.
<false> is not true.
Run Code Online (Sandbox Code Playgroud)
这是有道理的,因为生成的代码不具有value属性.有更好的方法来验证输入字段的值吗?
到目前为止测试这个我可以检查地址字段是否为空,然后检查是否有没有值属性的输入字段.但这很麻烦而且冗长.
通用检查的示例有效但很长:
if address.first_name.blank?
assert_select '#first_name[value]', 0
assert_select '#first_name[type=text]', 1
else
assert_select '#first_name[value=?]', address.first_name
end
Run Code Online (Sandbox Code Playgroud)
相关信息我正在使用:
Hpricot 0.8.1
Nokogiri 1.1.1
Rails 2.2.2
Thoughtbot-Shoulda 2.0.5
Webrat 0.4.1
我有一部分我想在布局中使用,但是当我加载页面时,它会在不同的文件夹中查找部分.
所以对于我的布局我已经有了.
%html
%head
%body
.content
= yield
.footer
= render :partial => 'tracking'
Run Code Online (Sandbox Code Playgroud)
在我的布局文件夹中,我有部分文件"app/views/layouts/_tracking.html.haml",我想在所有页面的布局中使用它.但是当我加载一个页面它会给我一个错误,说它找不到模板"products/_tracking.erb"