我有一部分是我在同一页面上渲染两次,但在两个不同的位置(一个在标准布局中显示,一个在移动/平板电脑布局期间显示).
部分在两个地方呈现完全相同,所以我想通过将其作为变量存储来加速它,如果可能的话; partial每次都进行一次API调用,第二次调用完全没必要,因为它是第一次API调用的副本.
有没有办法将返回的部分中的HTML存储为变量,然后将其用于两个渲染?
编辑:我希望在没有缓存的情况下这样做,因为这是一个非常简单的需求,我希望保持代码库的精简和可读性.是否可以将partial存储为字符串变量然后引用两次?
我正在尝试在Heroku上显示自定义500错误页面,运行rails 3.2.11
我按照以下步骤操作:https: //devcenter.heroku.com/articles/error-pages
该过程适用于维护页面,但似乎不适用于错误页面.我很肯定在Heroku中S3 URL是正确的,当我直接访问S3 URL时,我可以很好地查看错误页面(它设置为公共).
在production.rb中将config.consider_all_requests_local设置为false
关于为什么Heroku没有展示它的任何想法?我只是在各种浏览器中得到一个空白的屏幕(Chrome说它是500错误,但不呈现页面).
我正在尝试测试注册电子邮件(使用设计发送),并且我一直收到错误消息:
Net::SMTPServerBusy: 454 4.7.1 <model_spec@example.com>: Relay access denied
Run Code Online (Sandbox Code Playgroud)
我正在使用Capybara运行Rails 3.2.11,并且(暂时)将我的spec_helper.rb和test.rb文件切碎到最低限度,仍然得到上面的错误.
require 'rubygems'
require 'spork'
Spork.prefork do
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'capybara/rspec'
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
RSpec.configure do |config|
config.use_transactional_fixtures = true
config.infer_base_class_for_anonymous_controllers = false
end
end
Spork.each_run do
FactoryGirl.reload
end
Run Code Online (Sandbox Code Playgroud)
Upficial::Application.configure do
config.whiny_nils = true
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
config.action_mailer.delivery_method = :test
end
Run Code Online (Sandbox Code Playgroud)
测试本身非常简单:
require 'spec_helper'
describe User do
it "sends a confirmation email" do
@user = FactoryGirl.create(:user, email: …Run Code Online (Sandbox Code Playgroud) 我正在使用angularjs发送POST,如下所示:
$http.post("/mypath", { data: "foobar" })
Run Code Online (Sandbox Code Playgroud)
在nodejs(expressjs)中,我试图像这样拾取它:
app.post "/mypath", (req, res) ->
console.log "req.body: ", req.body
res.end()
Run Code Online (Sandbox Code Playgroud)
我尝试了各种不同的化身(body: "foobar",等等),但我不断req.body: undefined
有没有一种简单的方法可以读取节点/表达式中的有效负载?
我有一个应用程序在服务器服务前端和服务API之间大致分开.我们想添加一个通配符来捕获子域上的用户名,并将它们指向前端服务器.所以我的网址映射如下:
服务于前端文件的服务器由https://example.com和映射https://www.example.com
API的服务器映射为 https://api.example.com
我们在像https://forum.example.com和的域名上也有论坛,演示等https://demo.example.com
现在,使用DNSimple中的ALIAS记录非常简单.
捕获https://username.example.com并将其映射到前端服务器的最佳方法是什么?我们需要的是一个通配符如*.example.com,但我们不想直接api,forum,demo,等到该服务器.
有没有办法在DNS级别设置层次结构或优先级,以便它首先检查命名匹配,然后如果没有找到任何内容则转到通配符?
我有一个 Node 10 应用程序在 Elastic Beanstalk 上运行,当请求负载大于 ~1MB 时,它会抛出 413 错误。
<html>
<head>
<title>413 Request Entity Too Large</title>
</head>
<body>
<center>
<h1>413 Request Entity Too Large</h1>
</center>
<hr>
<center>nginx/1.16.1</center>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
该请求根本没有击中我的应用程序;它被 nginx 拒绝了。
我曾尝试根据此答案配置 AWS 以增加允许的请求正文的大小,但无济于事。
我试过添加一个.ebextensions/01_files.config包含内容的文件:
files:
"/etc/nginx/conf.d/proxy.conf" :
mode: "000755"
owner: root
group: root
content: |
client_max_body_size 20M;
Run Code Online (Sandbox Code Playgroud)
那不起作用,所以我尝试将文件直接添加到.ebextensions/nginx/conf.d/proxy.conf:
client_max_body_size 20M;
这也不起作用。然后我通过 SSH 连接到实例并直接添加文件。重新部署后,整个conf.d目录被删除并重新写入,没有这个文件。
如何让 AWS Elastic Beanstalk 在 64 位 Amazon Linux 2/5.1.0 上运行 Node.js 10 以接受 nginx …
nginx amazon-ec2 amazon-web-services node.js amazon-elastic-beanstalk
据我所知,我没有以任何形式或形式引用 favicon.ico,但我对 rails 服务器(在开发模式下)的每个请求都以以下内容结束:
Started GET "/assets/ico/favicon.ico" for 127.0.0.1 at 2012-06-12 20:18:02 -0700
Served asset /ico/favicon.ico - 404 Not Found (3ms)
ActionController::RoutingError (No route matches [GET] "/assets/ico/favicon.ico"):
actionpack (3.2.3) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
actionpack (3.2.3) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
railties (3.2.3) lib/rails/rack/logger.rb:26:in `call_app'
railties (3.2.3) lib/rails/rack/logger.rb:16:in `call'
actionpack (3.2.3) lib/action_dispatch/middleware/request_id.rb:22:in `call'
rack (1.4.1) lib/rack/methodoverride.rb:21:in `call'
rack (1.4.1) lib/rack/runtime.rb:17:in `call'
activesupport (3.2.3) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
rack (1.4.1) lib/rack/lock.rb:15:in `call'
actionpack (3.2.3) lib/action_dispatch/middleware/static.rb:62:in `call'
railties (3.2.3) lib/rails/engine.rb:479:in `call'
railties (3.2.3) lib/rails/application.rb:220:in `call'
rack (1.4.1) lib/rack/content_length.rb:14:in `call'
railties …Run Code Online (Sandbox Code Playgroud) 我已经添加
# config/initializers/will_paginate_array_fix.rb
require 'will_paginate/array'
Run Code Online (Sandbox Code Playgroud)
但似乎还没有获得对数组的分页支持,例如:
def index
@array = (1..100).to_a.paginate(params[:page])
end
# gives TypeError: can't convert Symbol into Integer
Run Code Online (Sandbox Code Playgroud)
它适用于模型,我得到
defined? WillPaginate # => constant
ActiveRecord::Base.respond_to? :paginate # => true
# but:
Array.respond_to? :paginate # => false
Run Code Online (Sandbox Code Playgroud)
任何人都知道我缺少什么来获得数组的分页支持?
我们有一些表没有设置级联,但我们希望在删除项目时使用一个命令手动清理它们。
例如,要使用 删除Permissions表和Votes基于项目的表identifier = 'abcdefg',我们要首先查找项目的表id,然后使用它来删除相关表:
WITH proj_id AS (
SELECT id FROM "Projects" WHERE identifier = 'abcdefg'
)
DELETE FROM "Permissions" WHERE project_id IN (proj_id);
DELETE FROM "Votes" WHERE project_id IN (proj_id);
DELETE FROM "Gadgets" WHERE project_id IN (proj_id);
...
DELETE FROM "Projects" WHERE id IN (proj_id);
Run Code Online (Sandbox Code Playgroud)
这不起作用,但我认为它说明了目标。
有没有一种方法可以跨多个表完成此删除,而无需identifier多次写入该值?
没有我的开发笔记本电脑,我将去度假一周,如果需要,我希望能够重置我的Heroku应用程序.我没有设置后台作业,我宁愿不为此设置它们.
我想我可能只是将dynos缩小然后再备份,但不确定是否还有其他选择.有没有办法heroku restart从浏览器运行相当于?
是否有可能Rails.env通过javascript/jQuery直接访问?
我可以把一些东西放在DOM中,然后阅读它,但这似乎有点hackish.具体来说,我希望能够根据环境是测试,开发,登台还是生产在javascript中创建条件语句.
heroku ×2
node.js ×2
amazon-ec2 ×1
angularjs ×1
arrays ×1
dns ×1
dnsimple ×1
express ×1
favicon ×1
javascript ×1
jquery ×1
nginx ×1
postgresql ×1
render ×1
rspec ×1
subdomain ×1
vanity-url ×1
webrick ×1