小编ggr*_*one的帖子

rails 3 - LoadError(无法加载此类文件 - zip/zip)

我正在使用rubyzip压缩csv文件,因此用户可以下载它.这在开发模式下完美运行.但是当我尝试在生产服务器(rackspace)上压缩文件时,我收到错误:LoadError(无法加载此类文件 - zip/zip).这是路径问题吗?有人知道修复吗?

我的代码在这一行调用错误:require'zip/zip'

我从这里尝试了解决方案,但它没有帮助.

rubygems rubyzip ruby-on-rails-3

14
推荐指数
5
解决办法
1万
查看次数

无法验证jQuery文件上载,仅限IE 9,Rails 3应用程序的CSRF令牌

所以我在rails 3应用程序中使用jquery文件上传,一切都很好,除了在IE 9中.仅在IE9中,当我尝试上传文件时,我在控制台中不断收到"无法验证csrf令牌"错误.我安装了Firebug lite来检查它,并且正确的csrf令牌是正确的并且在文档中的正确位置(是的,我在布局文件的标题中有我的<%= csrf_meta_tags%>标记).不确定为什么它只在IE 9中这样做,有没有人见过这个?

file-upload csrf jquery-plugins ruby-on-rails-3

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

资产未在生产中加载rails app

我正在运行的当前应用程序在其ubuntu服务器上正常生产.但是现在我必须配置一个Red Hat Enterprise Linux 5.5服务器来部署应用程序,我遇到了一些问题.首先是一些规格:

  • rails版本:3.2.11
  • 红宝石:1.9.3-p194
  • http服务器nginx +独角兽
  • 用rbenv管理ruby环境
  • 部署方法:capistrano

我的nginx.conf和unicorn配置文件基于Ryan Bate的视频.所以我设法得到几乎所有配置.我可以部署,连接到数据库等.但是,当我访问我的应用程序页面时,所有资产都无法加载.当我进入我的控制台时,它说它们因为403 Forbidden错误而失败.我检查了资产是否在正确的位置:apps/my_app/shared/assets.但我一直收到403错误.

到目前为止我尝试过的:

  • 检查了父文件夹和实际资产文件的权限.他们都至少拥有每个人的阅读权限
  • 改为config.assets.compile
  • 以下说明使用nginx和unicorn阻止部署:403 forbidden错误,建议删除conf.d中的默认文件并将我的自定义nginx配置文件符号链接到/etc/nginx/conf.d而不是.../sites-enabled

任何想法或想法为什么我得到403?

编辑1:添加/etc/nginx/nginx.conf文件

不确定这是否有帮助,但这是nginx.conf文件(在/ etc/nginx下)的样子(不是我的自定义nginx文件):

events {
  worker_connections  1024;
}


#----------------------------------------------------------------------
# HTTP Core Module
#
#   http://wiki.nginx.org/NginxHttpCoreModule 
#
#----------------------------------------------------------------------

http {
  include       /etc/nginx/mime.types;
  default_type  application/octet-stream;

  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /var/log/nginx/access.log  main;

sendfile        on;
#tcp_nopush     on;

#keepalive_timeout  0;
keepalive_timeout …
Run Code Online (Sandbox Code Playgroud)

deployment capistrano nginx ruby-on-rails-3

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

Devise Rememberable的问题 - 浏览器关闭时无法自动注销

所以我在设备的可记忆模块上遇到了麻烦.我已正确实现所有设置:我添加:可记住我的用户模型,将remember_created_at添加到users表,并在登录页面上添加:remember_me复选框.

我可以确认,如果用户登录而未选中"记住我"复选框,则表示已创建cookie,现在已过期,并且remember_created_at字段设置为null.如果用户选中该复选框,则时间戳保存在remember_created_at字段中,并且cookie的到期日期设置为默认的2周.

所以我遇到的问题:

  1. 如果我没有选中"记住我"复选框并登录,请关闭浏览器,然后返回到我仍然登录的应用程序.如果用户不想记住浏览器关闭时的想法会话被破坏了吗?还是我误解了这个?

  2. 为了测试目的,我将:remember_for选项更改为1.minute.所以我在登录前检查了记住我的框,并验证了cookie的到期日期是否正确,并且时间戳保存在remember_created_at中.然后我关闭了浏览器并等了大约2分钟.然后我再次打开浏览器,我仍然登录.我错过了什么,或者我只是没有正确理解可记忆的模块?

谢谢.

ruby-on-rails remember-me devise

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

Rails 3:Controller中未初始化的常量?

我正在关注ryan bate的视频:http://railscasts.com/episodes/340-datatables?view=comments,了解如何将jquery datatables插件连接到服务器端以加快页面加载时间.我正在使用Rails 3.

我收到这个奇怪的错误,我不确定它是什么意思:

"NameError (uninitialized constant ReportsController::ReportsDatatable):
 app/controllers/reports_controller.rb:20:in `block (2 levels) in index'
 app/controllers/reports_controller.rb:18:in `index'"
Run Code Online (Sandbox Code Playgroud)

这特别奇怪,因为有时我会得到错误,有时我却没有.我通常在表首次加载时发生,或者(当页面加载时)我尝试转到下一页时发生..

在我的报告控制器内:

class ReportsController < ApplicationController
  def index
    respond_to do |format|
      format.html
      format.json { render json: ReportsDatatable.new(view_context) }
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

谢谢

datatables ruby-on-rails-3

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