rails-project git:creating-models ? rails console
Loading development environment (Rails 3.2.1)
Couldn't load Wirble: cannot load such file -- wirble
irb(main):001:0>
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索,没有任何相关的东西出现..我不知道这是否有帮助
rails-project git:creating-models ? irb
>> puts $:
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/gems/1.9.1/gems/wirble-0.1.3/lib
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/site_ruby/1.9.1
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/site_ruby/1.9.1/x86_64-darwin11.2.0
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/site_ruby
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/vendor_ruby/1.9.1
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/vendor_ruby/1.9.1/x86_64-darwin11.2.0
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/vendor_ruby
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/x86_64-darwin11.2.0
Run Code Online (Sandbox Code Playgroud)
Ruby版本:
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
Run Code Online (Sandbox Code Playgroud)
我正在使用OSX,而不是Ubuntu(在我看到的每个谷歌搜索中似乎都是这个问题的根源)
我正在尝试使用此声明:
@vote = Vote.where(:resource_id => params[:id], :user_id => current_user.id).first_or_create(:value => 1)
Run Code Online (Sandbox Code Playgroud)
这是一个upvote或downvote.如果该行不存在于DB中,则应该创建它(如果它们从未在该帖子上投票),则应该使用-1,0,1来修改该值.
如果他们第二次点击upvote,它需要"撤销"投票并将行"值"设置为0而不是1.同样的事情发生在downvote但是现在只是upvote函数.
我在调试这个语句时遇到了麻烦.我需要基本上区分它是保存的记录还是创建的记录.如果我把:
@vote = Vote.where(:resource_id => 25, :user_id => 1)
@vote.exists?
Run Code Online (Sandbox Code Playgroud)
我明白了 true
但如果我把它...(和记录存在,它只是在上面工作)..
@vote = Vote.where(:resource_id => 25, :user_id => 1).first_or_create(:value => 1)
@vote.exists?
Run Code Online (Sandbox Code Playgroud)
我得到... NoMethodError:未定义的方法`存在?' 为#
在查看两个对象的类之后,我看到一个是"投票",一个是"ActiveRecord :: Relation".
我的最终目标是以某种方式重构这个(主要是它检查投票值是否已经为1的部分,如果这样设置为零(撤消投票),否则将其置于1
这是我开始尝试使用first_or_create重构之前的代码.它漫长而丑陋.
if @vote.exists?
# Check if they have already voted
if @vote.first.value == 1
@vote.first.value = 0
else
@vote.first.value = 1
end
flash[:notice] = "previous vote modified"
@vote.first.save
else
# Create a new Vote instance, save …Run Code Online (Sandbox Code Playgroud) 我很难在没有巨大的if/else结构的情况下以最佳方式概念化如何做到这一点.我知道我可以这样做,但我正在尝试将其抽象为方法而我迷失了.
upvote = 1
no vote = 0
downvote = -1
Run Code Online (Sandbox Code Playgroud)
基本上,一个人可以击中一个upvote或downvote按钮.
如果他们点击upvote并且他们当前的投票是upvote,它'unvotes'该帖子并将其设置为零
如果他们点击downvote并且他们当前的投票是upvote,它会将其切换为downvote
如果他们的投票为零,并且他们点击upvote,则将投票设置为1
对于downvote,反之亦然
这是我到目前为止,但它没有说明你点击upvote后点击upvote ..而不是将其设置为0它将其设置为-1.
我遇到了问题,我很难搞清楚如何写它
def update_vote(upvote_or_downvote)
self.active_vote? ? self.value = 0 : self.alternate_vote
end
def active_vote?
self.value != 0
end
def alternate_vote
self.value *= -1
end
Run Code Online (Sandbox Code Playgroud) ruby refactoring ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1
var linksList = [
"http://a.com",
"http://b.com",
"http://c.com",
]
for (var i=0; i<linksList.length; i++) {
setTimeout(function() {
console.log(linksList[i]);
}, 3000);
}
Run Code Online (Sandbox Code Playgroud)
我把它粘贴到chrome检查器中,它返回一个数字,无论出于何种原因(它似乎是一个完全随机的数字??)然后等待...然后返回3'未定义'控制台错误
我将CloudFlare用于我的一个高容量网站,它位于我的堆栈前面.
事情是CloudFlare除了创建新的连接外,还会打开空闲连接,这不是我可以改变的设置.
当我让Varnish或Nginx坐在前面侦听端口80时,他们已经开箱即用配置来挂断空闲连接.
这很好,直到我必须添加一个用Go编写的代理到我的堆栈前面.它使用net/http标准库.
我不是Go向导,但基于人们告诉我的只有读取和写入超时设置但不挂空闲连接.
现在我的服务器将填满连接和死亡,除非我设置一组读取和写入超时,但问题是我的后端有时需要很长时间,并且它导致好的请求被切断,当他们不应该.
使用Go http处理空闲连接的正确方法是什么?
编辑1:为了更清楚,我正在httputil.NewSingleHostReverseProxy构建一个代理,它公开了传输选项,但仅用于上游.我遇到的问题是下游问题,需要在http.Server使用ReverseProxy作为处理程序的对象上设置它们.http.Server不暴露运输.
编辑2:我希望空闲超时到读取超时,因为后者将应用于活动上传器.
谢谢
我用来devicedetect.vcl将标题发送X-UA-Device到我的应用程序,因此它知道要呈现哪个布局。varnish 将为该标头设置的可能值为mobile或desktop。
在退出时,该标头将转换为Vary: User-Agent.
现在,作为一个单独的、独立的项目,我需要在resp对象上设置另一个标头(该标头在发送到客户端之前发送到我们的 Golang 代理)。该标头将被调用,X-Analytics-Device并且可能具有bot、mobile、tablet或 的值desktop。
后端服务器不需要做任何事情X-Analytics-Device。只有我们的 Go 代理会解析并删除此标头,然后再将其发送到客户端。
问题是,我需要X-Analytics-Device根据子例程的结果设置标头call devicedetect;,该子例程位于vcl_recv. 我需要最终将其设置在respis in上vcl_deliver,并且我需要知道传递数据的最佳方式。
我能想到的唯一可行的方法(基于我对 Varnish 的有限理解)是我需要设置一些其他标头,并稍后访问它。
也许是这样的(我bot暂时忽略了):
if (req.http.X-UA-Device ~ "^mobile") {
set req.http.X-UA-Device = "mobile";
set req.http.X-Analytics-Device = "mobile";
} elseif (req.http.X-UA-Device ~ "^tablet") {
set req.http.X-UA-Device = "desktop"; …Run Code Online (Sandbox Code Playgroud) 我是 PG 新手,我想知道是否需要额外“做任何事情”才能正确处理浮点数学。
例如,在 ruby 中使用BigDecimal,在 Elixir 中使用Decimal。
我下面的方案是 PG 的最佳解决方案吗?
SELECT
COALESCE(SUM(active_service_fees.service_fee * (1::decimal - active_service_fees.withdraw_percentage_discount)), 0)
FROM active_service_fees
Run Code Online (Sandbox Code Playgroud)
数据类型:
service_fee integer NOT NULL
withdraw_percentage_discount numeric(3,2) DEFAULT 0.0 NOT NULL
Run Code Online (Sandbox Code Playgroud) 我有这个复杂的滑块,利用大量的动画.我试图找到触发滑块时调用的函数,以便我可以将onClick分配给任意链接以从滑块本身外部激活滑块.
我已经查看了代码,但我在功能方面处于亏损状态.javascript控制台也没有记录任何东西.很高兴看到目前正在以某种方式执行的代码.这可能吗?
谢谢!
这让我大吃一惊,有很多事情发生,我只需要在这里寻求帮助.
现在,我有一份资源清单.在每个资源中,它允许某人通过单击链接"将其添加为收藏".我有正常的重定向工作,但至于集成ajax所以他们可以喜欢没有页面刷新,我完全失去了...
FavoritesController(更新是此控制器中唯一的操作)
def update
@favorite = Favorite.find_or_initialize_by_resource_id_and_user_id(params[:id], current_user.id)
if @favorite.persisted?
@favorite.destroy
else
if @favorite.valid?
@favorite.save
end
end
redirect_to root_url
end
Run Code Online (Sandbox Code Playgroud)
我的看法:
<%= link_to "", favorites_path(:id => resource.id), :class => "star#{star_post?(resource)}", :method => "put" %>
Run Code Online (Sandbox Code Playgroud)
我的路线:
resource :favorites, :only => [:update]
Run Code Online (Sandbox Code Playgroud)
我的JS:
$('.res-list .star').click(function(){
$.put('/favorites/?id=' + $(this).attr('data-id'));
return false;
});
Run Code Online (Sandbox Code Playgroud) 我一直在使用文档准备,但我正在观看一些教程视频真的知道最新情况,而不仅仅是通过输入这么多知道.
我总是把它放在一个习惯的匿名函数中,因为它总是如此完成,但现在我看到它是否在匿名函数中(alert();例如),它会在DOM加载时执行NOT但是当javascript时立即执行NOT负载.它必须在一个匿名函数中才能实现它应该如何(当整个页面加载时)和事件监听器触发它的'ready'.
为什么是这样?
此外,我经常看到类似函数(i){}(i)的东西,这是什么意思?
我有一个模型,Book与有关书(信息title,author,publisher等等),并且它也有views,downloads,shares.
但是,我想要做的是按照"受欢迎程度"对书籍进行排序,根据我的意思,这是views + downloads + shares针对该特定行,然后我可选择显示与记录相关联的"受欢迎度得分".
谢谢!
ruby ×4
javascript ×3
jquery ×2
activerecord ×1
ajax ×1
connection ×1
decimal ×1
for-loop ×1
go ×1
http ×1
loops ×1
mysql ×1
postgresql ×1
refactoring ×1
settimeout ×1
varnish ×1
varnish-vcl ×1