我响应远程链接(data-remote ="true"data-type ="json")和输出
format.json { head :ok }
Run Code Online (Sandbox Code Playgroud)
在我的Rails(3.2.6)控制器中,它创建了这个头:
Status Code:200 OK
Run Code Online (Sandbox Code Playgroud)
...
Connection:keep-alive
Content-Length:1
Content-Type:application/json; charset=utf-8
Server:thin 1.4.1 codename Chromeo
Set-Cookie: ... path=/; HttpOnly
X-UA-Compatible:IE=Edge
...
Run Code Online (Sandbox Code Playgroud)
在我的JavaScript文件中,ajax:complete被触发并输出200 (data.status).
$( '#myElement' ).on( 'ajax:complete', function( e, data ) {
console.log( data.status );
});
Run Code Online (Sandbox Code Playgroud)
数据看起来像这样:
...
readyState: 4
responseText: " "
setRequestHeader: function ( name, value ) {...
state: function () {...
status: 200
statusCode: function ( map ) {...
statusText: …Run Code Online (Sandbox Code Playgroud) 我通过bundle exec pumactl -F config/puma.rb phased-restart什么工作正常重启8个美洲狮工人.现在我收到越来越多的postgres错误:
PG::TRDeadlockDetected: ERROR: deadlock detected
Run Code Online (Sandbox Code Playgroud)
我发现大约有50个闲置的postgres进程在运行:
postgres: myapp myapp_production 127.0.0.1(59950) idle
postgres: myapp myapp_production 127.0.0.1(60141) idle
...
Run Code Online (Sandbox Code Playgroud)
当我跑步时,它们消失了bundle exec pumactl -F config/puma.rb stop.启动应用程序后bundle exec pumactl -F config/puma.rb start,我得到了16个空闲进程.(在我看来,太多了.)
如何更好地管理这些流程?谢谢你的帮助!
更新
我的puma.rb:
environment 'production'
daemonize true
pidfile 'tmp/pids/puma.pid'
state_path 'tmp/pids/puma.state'
threads 0, 1
bind 'tcp://0.0.0.0:3010'
workers 8
quiet
Run Code Online (Sandbox Code Playgroud) 我payments.sum(&:price)在我的Rails应用程序(4.1.2)中使用.自从我从Ruby 1.9.3更新到2.1.2后,我收到了以下错误:
wrong number of arguments (1 for 2..3)
Run Code Online (Sandbox Code Playgroud)
这些变体有效:
payments.map(&:price).sum
payments.to_a.sum(&:price)
Run Code Online (Sandbox Code Playgroud)
我是否必须重写我的代码或者我错过了什么?谢谢!
我正在使用proxy_pass并希望记录 proxy_pass 使用的 URI。
我可以记录$upstream_addr除 URI 本身之外的每个详细信息,例如进程的 (IP)。
我错过了什么还是这是不可能的?
我想要I18n.translate()或I18n.t()使用特定的语言环境,但不是I18n.locale.我不想I18n.t(:my_key, locale: :my_locale)每次都使用,所以如果我可以覆盖函数本身就会很棒.
我试着把它放在一个新的帮手中:
# my_helper.rb
module MyHelper
def translate(key, options = {})
options[:locale] = MY_LOCALE
I18n.translate key, options
end
alias :t :translate
end
Run Code Online (Sandbox Code Playgroud)
这适用于"硬键" t('word'),但没有找到"动态键"的正确路径t('.title'),这应该使用我的部分路径,即de.users.form.title.
谢谢你的帮助!
我在我的Rails 3.2.14应用程序中使用了friendly_id(4.10.1)和globalize(3.0.0):
# globalize3
translates :title, :slug
# friendly_id
extend FriendlyId
friendly_id :title, use: [:slugged, :globalize]
Run Code Online (Sandbox Code Playgroud)
当我保存输入时,friendly_id检查slug碰撞:
SELECT "pages".* FROM "pages" WHERE
("slug" = 'my-title' OR "slug" LIKE 'my-title--%') AND (id <> 1)
ORDER BY LENGTH("slug") DESC, "slug" DESC LIMIT 1
Run Code Online (Sandbox Code Playgroud)
Friendly_id应该使用转换表page_translations,因为pages当您使用多个语言环境时,原始表中的条目有点随机.
这就是问题所在:friendly_id只识别一种语言/语言环境的slug冲突.
有没有人知道如何更改完整全球化支持的查询?非常感谢你提前!
我想预先构建一个需要几秒钟渲染的局部.我见过使用代理通过http预加载缓存的函数,但我希望有一个"内部"解决方案.
这是我的函数,每当myobject更新时都会调用它:
def pre_build_partial myobject
the_controller = ActionController::Base.new
the_controller.instance_variable_set '@myobject', myobject
view_renderer = ActionView::Renderer.new the_controller.lookup_context
view_renderer.render the_controller.view_context, { partial: 'mypartial', layout: false }
end
Run Code Online (Sandbox Code Playgroud)
它适用于使用基本帮助程序的部分,但我的自定义助手会抛出错误:
undefined method `my_custom_helper_function' for #<#<Class:...>
我想帮助者必须加入the_controller,但我找不到办法.在此先感谢您的帮助!
ruby ×2
friendly-id ×1
globalize3 ×1
helpers ×1
jquery ×1
locale ×1
logging ×1
nginx ×1
overriding ×1
postgresql ×1
prebuild ×1
proxypass ×1
puma ×1
rails-i18n ×1
sum ×1