我已经设置了Cell(链接到github)自包含的单元格.没什么特别的.一切都有效,除了一件事.
当单元格内的视图模板有一个simple_form_for帮助程序时 - 它不起作用.说
undefined method `simple_form_for' for #<SubscribeForm::Cell:0x0000000a0ceba8>
Run Code Online (Sandbox Code Playgroud)
不明白为什么.有任何想法吗?其他助手(link_to等)工作正常.并且simple_form_for可以在没有单元格的其他页面上工作.哦,这不是关于"重启服务器".谢谢你的建议.
令人惊讶的是找不到任何关于此的信息。
试图存根这个方法链:
Twitter::REST::Client.new(<some credentials>).user.followers_count
Run Code Online (Sandbox Code Playgroud)
我真正想做的是:
allow_any_instance_of(Twitter::REST::Client).to receive_message_chain(:user, :followers_count).and_return 0
Run Code Online (Sandbox Code Playgroud)
但它没有用。出错了undefined method 'receive_message_chain'。
所以我在 Rspec-Mocks 3.0 上找到了这个教程:https : //github.com/rspec/rspec-mocks/blob/master/features/method_stubs/receive_message_chain.feature
并尝试了这个:
subject = Twitter::REST::Client
allow(subject).to receive_message_chain(:user, :followers_count).and_return 0
expect(Twitter::REST::Client.new.users.followers_count).to eq 0
Run Code Online (Sandbox Code Playgroud)
只是为了尝试一下 - 它也不起作用。有什么我做错了吗?
我有rspec-mocks (3.0.0.beta1)我的Gemfile.lock。
其他类型的存根(例如.to receive(:method)工作正常。
我可以这样做吗?
self.send(:twitter_url) = result
Run Code Online (Sandbox Code Playgroud)
它对我来说不是这样的.
self.send(:twitter_url, result) # this doesn't work either
Run Code Online (Sandbox Code Playgroud)
Model.twitter_url 是一个属性(字符串列)
我需要这个来进行重构.
好的,还有一件事:
argument = :twitter_url
self.send(argument=, result)
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
我有这个Ruby代码:
def visits_chart_data(domain)
last_12_months.collect do |month|
{ created_at: month, count: domain.visits.created_on_month(month).count }
end
end
def last_12_months
(0..11).to_a.reverse.collect{ |month_offset| month_offset.months.ago.beginning_of_month }
end
Run Code Online (Sandbox Code Playgroud)
CreatedOnMonth只是一个范围:
scope :created_on_month, -> (month = Time.now) { where{ (created_at >= month.beginning_of_month) & (created_at <= month.end_of_month) } }
Run Code Online (Sandbox Code Playgroud)
created_at 只是一个标准的日期时间戳.
如何优化它以进行一次查询而不是12?
我看到有些人使用GROUP_BY,但是我对PostgreSQL不太好,能够自己构建这样的查询.查询应按年份对记录进行分组并返回计数.也许有人可以帮助我.谢谢.
ruby ×2
activerecord ×1
cells ×1
mocking ×1
postgresql ×1
rspec ×1
simple-form ×1
sql ×1
squeel ×1