我从迈克尔哈特尔的书中得到了这个测试
describe "follower/following counts" do
let(:user) { FactoryGirl.create(:user) }
let(:other_user) { FactoryGirl.create(:user) }
before do
sign_in(user)
visit root_path
user.follow!(other_user)
end
it { should have_link('0 following', href: following_user_path(user)) }
it { should have_link('1 follower', href: followers_user_path(user)) }
end
Run Code Online (Sandbox Code Playgroud)
问题是这总是失败
it { should have_link('1 follower', href: followers_user_path(user)) }
Run Code Online (Sandbox Code Playgroud)
但是当我改变它
it { should have_link('0 follower', href: followers_user_path(user)) }
Run Code Online (Sandbox Code Playgroud)
测试通过.这是我的型号代码:
User.rb
has_many :relationships, foreign_key: "follower_id", dependent: :destroy
has_many :reverse_relationships, foreign_key: "followed_id", class_name: "Relationship", dependent: :destroy
has_many :followed_users, through: :relationships, source: :followed
has_many :followers, through: …Run Code Online (Sandbox Code Playgroud) 好的,所以我尝试了两种方法都失败了
使用aws-s3 gem的第一种方法
require 'aws/s3'
S3ID = "MYACCESS"
S3KEY = "MYKEY"
include AWS::S3
AWS::S3::Base.establish_connection!(
:access_key_id => S3ID,
:secret_access_key => S3KEY
)
bucket = AWS::S3::Bucket.find("test_bucket")
=> #<AWS::S3::Bucket:0x007fea3e2898c8 @attributes={"xmlns"=>"http://s3.amazonaws.com/doc/2006-03-01/", "name"=>"test_bucket", "prefix"=>nil, "marker"=>nil, "max_keys"=>1000, "is_truncated"=>true}, @object_cache=[#<AWS::S3::S3Object:0x70322020960960 '/test_bucket/00000188110119_1000000731213/'>, #<AWS::S3::S3Object:0x70322020960660 '/test_bucket/00000188110119_1000000731213/10_08-52-08.mp3'>, #<AWS::S3::S3Object:0x703220209
bucket.size
=> 1000
bucket.objects[0]
=> #<AWS::S3::S3Object:0x70322028046080 '/test_bucket/00000188110119_1000000731213/'>
bucket.objects[1]
=> #<AWS::S3::S3Object:0x70322028046040 '/test_bucket/00000188110119_1000000731213/10_08-52-08.mp3'>
bucket.objects[1].key
=> "00000188110119_1000000731213/10_08-52-08.mp3"
File.open("/Users/matt/local_copy.mp3", "w") do |f|
f.write(bucket.objects[1])
end
Run Code Online (Sandbox Code Playgroud)
UPDATE
bucket.objects[1]
=> #<AWS::S3::S3Object:0x70322028046040 '/test_bucket/00000188110119_1000000731213/10_08-52-08.mp3'>
bucket.objects[1].read
NoMethodError: undefined method `read' for #<AWS::S3::S3Object:0x70322028046040>
bucket.objects[1].class
=> AWS::S3::S3Object
Run Code Online (Sandbox Code Playgroud)
你可以看到我想要做的是从s3桶中复制mp3并将其复制到本地计算机....任何关于如何做到这一点的想法
我有这个验证
validates :contact_id, :presence => true, :uniqueness => {:message => 'has an account already.'}
Run Code Online (Sandbox Code Playgroud)
在application.rb模型中
一切都很好,但如果状态"无效",我只需要进行此验证
例如,在应用程序表中有一个被调用的字段state,如果有contact_id一个用户的应用程序且状态为"无效",则此验证不应生效,应让用户保存应用程序
好的,我有一个销售模型
recent_sales = Sale.recent
=> [#<Sale id: 7788, contact_id: 9988, purchasing_contact_id: 876, event_id: 988, #<BigDecimal:7fdb4ac06fe8,'0.0',9(18)>, fulfilled_at: nil, skip_print: nil, convention_id: 6, refund_fee: #<BigDecimal:7fdb4ac06de0,'0.0',9(18)>, processing: false>, #<Sale id: 886166, , contact_id: 7775,
recent_sales.count
=> 32
Run Code Online (Sandbox Code Playgroud)
我知道我能做到这一点
grouped_sales = recent_sales.group_by(&:contact_id).map {|k,v| [k, v.length]}
=> [[9988, 10], [7775, 22]]
Run Code Online (Sandbox Code Playgroud)
但我真正需要的不仅仅是对contact_id进行分组,还要对event_id进行分组,因此最终结果如下所示
=> [[9988, 988, 5], [9988, 977, 5], [7775, 988, 2], [7775, 977, 20]]
Run Code Online (Sandbox Code Playgroud)
所以我有event_id,分组正确地将它们分开......任何关于如何做到这一点的想法
我试过了
recent_sales.group('contact_id, event_id').map {|k,v| [k, k.event, v.length]}
Run Code Online (Sandbox Code Playgroud)
但没有去
我们有一个表,business_users有user_id和business_id我们有重复.如何编写一个删除所有重复项的查询?
我正在实现幻灯片下拉菜单,我正在使用此代码
$(document).ready(function(){
$('.drop').click(function(){
var $next = $(this).parent().next('li.drop_down');
if($next.is(':visible')) {
$next.slideUp();
} else {
$next.slideDown();
}
});
});
Run Code Online (Sandbox Code Playgroud)
但客户声称它不够顺畅.他想要扩展得非常顺畅,所以有没有办法让它更顺畅
div如果页面上有元素,我想要显示.例如:
如果('#some_div')在页面上,我想做一个 ('#another_div').show();
实现这一目标的语法是什么?
所以我有一个mp3文件的URL,我需要将它保存到一个特定的目录.如何做到这一点的最佳方式,有人告诉我curl但是有一些php命令的副本文件会使这个过程更容易
查询问题,对于我的生活,我无法弄清楚这个查询有什么问题
HAVING distance ='10'
GROUP BY c.ancient,
c.ant_name,
p.upper,
p.name,
Run Code Online (Sandbox Code Playgroud)
错误1064(42000):您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在第1行的'GROUP BY c.city_id,c.city_name,p.prop_ynow_id,p.Name,pr.PRE_Ident SELECT dis'附近使用正确的语法
如果它没有像这样的键,我怎么去到数组内容
$products[0]
Run Code Online (Sandbox Code Playgroud)
这会让我部分在那里,但如何我过去[]
( [0] => Array
( [] => Array (
[0] => Array ( [product_name] => stuff i need to get to )
Run Code Online (Sandbox Code Playgroud)