Tag: ruby on rails

Rails 3:将时区设置为当前用户时区

我把它放在Application Controller中: before_filter :set_timezone def set_timezone Time.zone = current_user.time_zone end 但我总是得到错误: undefined method time_zone for # 而我只是不知道为什么…… 我希望有人能帮帮忙

如何在rails项目中包含c ++绑定

我问了关于r-trees的这个问题 ,答案包括使用带有一些ruby包装器的c ++库。 我已经让包装器在测试文件中工作,但是如何在我的rails项目中包含包装器?

加载父资源失败的私有方法

从上一个: Rails 4嵌套资源/路由……差不多……? 我的行控制器中的私有方法将制造商加载到控制器中会引发错误… 我使用before_filter:load_manufacturer function是: def load_manufacturer @manufacturer = Manufacturer.find(params[:manufacturer_id]) end 当我尝试编辑表单中的行实例时,我得到: Couldn’t find Manufacturer with id=1 但我正在尝试编辑父资源(37)的子资源(1)… http://localhost:3000/manufacturers/37/lines/1 这里传递的参数是: {“manufacturer_id”=>”manufacturer_id”,”id”=>”1″} 而我的forms,使这些模型很好,是: 应用程序/视图/线/ _form.html.erb prohibited this line from being saved:

如何使用Rails 3.0.x配置Log4r?

我尝试根据这篇文章使用Rails 3.0.4配置log4r: http ://www.dansketcher.com/2007/06/16/integrating-log4r-and-ruby-on-rails/ /Users/toto/.rvm/gems/ruby-1.9.2-p0/gems/log4r-1.1.9/lib/log4r/yamlconfigurator.rb:166:in `sub!’: can’t convert Pathname into String (TypeError) from /Users/toto/.rvm/gems/ruby-1.9.2-p0/gems/log4r-1.1.9/lib/log4r/yamlconfigurator.rb:166:in `block in paramsub’ from /Users/toto/.rvm/gems/ruby-1.9.2-p0/gems/log4r-1.1.9/lib/log4r/yamlconfigurator.rb:165:in `each’ from /Users/toto/.rvm/gems/ruby-1.9.2-p0/gems/log4r-1.1.9/lib/log4r/yamlconfigurator.rb:165:in `paramsub’ from /Users/toto/.rvm/gems/ruby-1.9.2-p0/gems/log4r-1.1.9/lib/log4r/yamlconfigurator.rb:156:in `block in decode_hash_params’ 我已经谷歌搜索Rails 3集成,但还没有找到一个有效的解决方案。 任何人都可以指向一个工作的代码片段,允许使用YAML文件进行日志配置,并在运行时初始化? 作为参考,我将示例logger.rb放在config / initializers文件夹中,将log4r.yml放在config目录中。 谢谢

有耙子的问题

我正在运行Rails 3.1.1并在运行此命令时出现此错误。 显然是Rails的新手,任何帮助表示赞赏: 耙子流产了! nil的未定义方法“先决条件”:NilClass /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/rspec-rails-2.6.0/lib/rspec/rails/tasks/rspec.rake:3:in `’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/rspec-rails-2.6.0/lib/rspec-rails.rb:10:in `load’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/rspec-rails-2.6.0/lib/rspec-rails.rb:10:in `block in ‘ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `call’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `block in load_tasks’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `each’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `load_tasks’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/railties-3.1.1/lib/rails/engine.rb:396:in `block in load_tasks’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/railties-3.1.1/lib/rails/application/railties.rb:8:in `each’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/railties-3.1.1/lib/rails/application/railties.rb:8:in `all’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/railties-3.1.1/lib/rails/engine.rb:396:in `load_tasks’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/railties-3.1.1/lib/rails/application.rb:103:in `load_tasks’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/railties-3.1.1/lib/rails/railtie/configurable.rb:30:in `method_missing’ /Users/220040168/rails_projects/sample_app/Rakefile:7:in `’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load_rakefile’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/rake-0.9.2.2/lib/rake/application.rb:501:in `raw_load_rakefile’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/rake-0.9.2.2/lib/rake/application.rb:82:in `block in load_rakefile’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/rake-0.9.2.2/lib/rake/application.rb:81:in `load_rakefile’ /Users/220040168/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/rake-0.9.2.2/lib/rake/application.rb:65:in `block […]

validation后如何通过httparty gem传递参数

我正在努力将odesk API导入我的本地项目。 因为我使用omniauth-odesk gem进行身份validation,使用httparty gem来调用访问odesk信息的http请求。 在我的Gemfile.rb中 gem ‘omniauth-odesk’ gem ‘httparty’ 在odesk_controller.rb中 class OdeskController {“Authorization”=>”Token token=\”06ede858bcdf8a5fedfa9119fd7074c4\””} end def check_profile end end 在视图/ odesk / search_job.html.erb 检查信息如下: #1395822483, “error”=>{“status”=>400, “code”=>400, “message”=>”Malformed request: standard autorization is not supported for this API, use an application key”}}, @response=#, @headers={“server”=>[“nginx”], “content-type”=>[“application/json”], “content-length”=>[“155”], “x-odesk-error-code”=>[“400”], “x-odesk-error-message”=>[“Malformed request: standard autorization is not supported for […]

动态表生成

首先让我描述一下我的情况,以便你能够更好地帮助我。 有两个部分。 1:我有一个运行并分析一堆文件的程序。 它生成一个“报告”,稍后将其输入网站进行数据库存储和查看。 此报告可以包含几乎任何类型的数据,因为用户可以查询几乎任何内容。 我把它打开了。 2:网站通过此报告进行解析,为常见事项添加条目。 但是也为它找到的任何新数据创建了一个新表。 它还存储从report_id到所有这些动态创建的表的映射。 例如,如果在报告中有人想要计算标准偏差,这对于此报告是有意义的,那么就会有一个STD表。 现在这个网站是用PHP编写的,看起来有些混乱。 有没有更好的方法来做这个PHP。 另外,我正在考虑在Rails中重新编写这个,因为组织起见。 在rails中是否有更好的方法,“method_missing?”。 我不是很擅长建立网站,也不是DB的业余爱好者,所以请善待。 谢谢Eric

Rails 3获取原始发布数据并将其写入tmp文件

我正在努力实现Ajax-Upload以在我的Rails 3应用程序中上传照片。 文件说: 对于IE6-8,Opera,其他浏览器的旧版本,您可以像平常的基于表单的上传一样获得该文件。 对于使用进度条上传文件的浏览器,您需要获取原始发布数据并将其写入文件。 那么,我如何在控制器中接收原始发布数据并将其写入tmp文件,以便我的控制器可以处理它? (在我的情况下,控制器正在进行一些图像处理并保存到S3。) 一些额外的信息: 正如我现在配置的那样,post正在传递这些参数: Parameters: {“authenticity_token”=>”…”, “qqfile”=>”IMG_0064.jpg”} …并且CREATE操作如下所示: def create @attachment = Attachment.new @attachment.user = current_user @attachment.file = params[:qqfile] if @attachment.save! respond_to do |format| format.js { render :text => ‘{“success”:true}’ } end end end …但是我收到了这个错误: ActiveRecord::RecordInvalid (Validation failed: File file name must be set.): app/controllers/attachments_controller.rb:7:in `create’

如何从另一个关联模型的视图编辑模型的属性

我有一个has_one个人资料的用户模型。 用户模型具有name属性,该属性在用户注册时设置。 但是,我想让用户从配置文件的编辑视图中更新该name属性。 我怎样才能做到这一点?

Rails确定has_many:通过访问额外数据

我们知道,在rails中你可以为你的has_many :through添加额外的属性has_many :through连接模型 我想从连接模型中提取额外的数据并用它填充视图。 我通过直接引用连接模型来实现这一点,但是我想将相关的连接模型数据附加到当前项目,如下所示: #app/models/message.rb #Images has_many :image_messages, :class_name => ‘ImageMessage’ has_many :images, :class_name => ‘Image’, :through => :image_messages, dependent: :destroy #app/views/messages/show.html.erb #-> works #app/views/messages/show.html.erb #-> what I’d like to happen 具体来说,我需要能够调用特定图像的caption , caption存储在image_messages连接模型中,如下所示: #image_messages join table id | message_id | image_id | caption | created_at | updated_at 从我所看到的,也许可以使用范围,但我不确定 任何帮助将不胜感激! 我想我会问这个问题,因为这是你不经常得到的那个问题之一!