小编Tyl*_*ler的帖子

在同一页面上多次渲染rails部分

我有一部分是我在同一页面上渲染两次,但在两个不同的位置(一个在标准布局中显示,一个在移动/平板电脑布局期间显示).

部分在两个地方呈现完全相同,所以我想通过将其作为变量存储来加速它,如果可能的话; partial每次都进行一次API调用,第二次调用完全没必要,因为它是第一次API调用的副本.

有没有办法将返回的部分中的HTML存储为变量,然后将其用于两个渲染?

编辑:我希望在没有缓存的情况下这样做,因为这是一个非常简单的需求,我希望保持代码库的精简和可读性.是否可以将partial存储为字符串变量然后引用两次?

ruby-on-rails render partial-views

3
推荐指数
2
解决办法
3189
查看次数

Heroku上没有显示500错误页面

我正在尝试在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错误,但不呈现页面).

heroku custom-error-pages ruby-on-rails-3

3
推荐指数
1
解决办法
1383
查看次数

Rspec Net :: SMTPServerBusy:454 4.7.1:拒绝中继访问

我正在尝试测试注册电子邮件(使用设计发送),并且我一直收到错误消息:

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文件切碎到最低限度,仍然得到上面的错误.

spec_helper.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)

test.rb:

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)

integration-testing rspec ruby-on-rails

3
推荐指数
1
解决办法
3243
查看次数

Node.js没有收到POST正文

我正在使用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

有没有一种简单的方法可以读取节点/表达式中的有效负载?

node.js express angularjs

2
推荐指数
1
解决办法
1227
查看次数

对于DNSimple上的某些但不是所有值的通配符子域

我有一个应用程序在服务器服务前端和服务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级别设置层次结构或优先级,以便它首先检查命名匹配,然后如果没有找到任何内容则转到通配符?

subdomain dns wildcard-subdomain vanity-url dnsimple

2
推荐指数
1
解决办法
526
查看次数

在 Elastic Beanstalk 节点上配置 nginx client_max_body_size

我有一个 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

2
推荐指数
1
解决办法
645
查看次数

为什么 rails 服务器试图加载 favicon.ico?

据我所知,我没有以任何形式或形式引用 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)

favicon webrick ruby-on-rails-3

1
推荐指数
1
解决办法
4312
查看次数

will_paginate不使用数组

我已经添加

# 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)

任何人都知道我缺少什么来获得数组的分页支持?

arrays will-paginate ruby-on-rails-3

1
推荐指数
1
解决办法
2723
查看次数

用于多个 DELETE 语句的 Postgres 变量

我们有一些表没有设置级联,但我们希望在删除项目时使用一个命令手动清理它们。

例如,要使用 删除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多次写入该值?

postgresql

1
推荐指数
1
解决办法
1766
查看次数

如何从浏览器重启Heroku应用程序

没有我的开发笔记本电脑,我将去度假一周,如果需要,我希望能够重置我的Heroku应用程序.我没有设置后台作业,我宁愿不为此设置它们.

我想我可能只是将dynos缩小然后再备份,但不确定是否还有其他选择.有没有办法heroku restart从浏览器运行相当于?

ruby-on-rails heroku

0
推荐指数
1
解决办法
358
查看次数

在jQuery中访问Rails.env变量?

是否有可能Rails.env通过javascript/jQuery直接访问?

我可以把一些东西放在DOM中,然后阅读它,但这似乎有点hackish.具体来说,我希望能够根据环境是测试,开发,登台还是生产在javascript中创建条件语句.

javascript jquery ruby-on-rails ruby-on-rails-3

0
推荐指数
1
解决办法
1028
查看次数