Tag: ruby on rails 3.2

未定义的方法’更改’为:更新时间戳值时的Fixnum

我正在项目中使用Google的OAuth2 API,使用Omniauth可以轻松创建初始帐户,但是为了使用API​​我需要刷新access_token,因为它们只有一个小时有效,但我是刷新令牌时更新expires_at值时出现问题。 这是我用于请求令牌刷新的代码: require ‘oauth2’ class Identity ‘https://accounts.google.com’, :authorize_url => “/o/oauth2/auth”, :token_url => “/o/oauth2/token” } response = OAuth2::AccessToken.from_hash(client, :refresh_token => self.refresh_token).refresh! self.update_attribute(:access_token, response.token) self.update_attribute(:expires_at, Time.at(response.expires_at)) end end end 我得到一个undefined method ‘change’ for 1359936923:Fixnum最终update_attribute行上的undefined method ‘change’ for 1359936923:Fixnum错误:expires_at(我从上面的行中拆分它以尝试找出问题)。 我已经尝试了上面的update_attribute调用,还有一个简单的self.expires_at = response.expires_at ,有和没有Time.at转换,但所有组合都会导致相同的错误。 :expires_at属性是Timestamp数据类型。 我已经检查了response变量,它包含正确的时间戳,据我所知: — !ruby/object:OAuth2::AccessToken … expires_in: 3600 expires_at: 1360019618 options: :mode: :header :header_format: Bearer […]

Rails 3.2.1:在视图中调用未定义的方法会导致测试挂起30秒以上

我正在将我的应用程序从3.0.9升级到3.2.1(ruby 1.9.3-p0,rvm,bundler),还有一件我无法追踪的问题就是这个问题。 我有一个控制器规范(在规格/控制器中)为每个示例呈现视图。 它呈现的模板可以有任何未定义的方法(比如在haml中调用“ – blahblah”),它会导致测试挂起超过30秒。 这是错误: undefined local variable or method `blahblahblah’ for #<#:0x007fa849c578c8> 我运行调试器并在尝试记录错误本身时发生了挂起。 这发生在activesupport-3.2.1/lib/active_support/notifications/instrumenter.rb line 22 。 这个Rails的错,haml的错,还是其他一些库? 这是我的Gemfile,以防我使用的东西可能是问题: source ‘http://rubygems.org’ source ‘http://gems.github.com’ source ‘http://gemcutter.org’ gem ‘rails’, ‘3.2.1’ gem ‘rake’, ‘~> 0.9.2.2’ gem ‘mysql2’, ‘~> 0.3.11’ gem ‘htmldoc’ gem ‘haml’, ‘~> 3.1.4’ gem ‘sass’, ‘~> 3.1.4’ gem ‘hpricot’ gem ‘curb’ gem ‘mini_magick’ […]

jQuery Remotipart将发送到服务器

我正在尝试使用ajax将文件上传到我的Rails应用程序。 为了促进这一点,我已经包含了jQuery.remotipart gem 。 // app/assets/javascripts/application.js //= require jquery.remotipart 我有一个上传文件的表格。 这些文件由CarrierWave处理。 不幸的是,当我提交附有文件的表单时,它似乎没有正确到达我的控制器操作。 params hash将JS对象字符串化为键。 Started POST “/file_imports” for 127.0.0.1 at 2012-11-06 01:00:49 +0000 Processing by FileImportsController#create as JS Parameters: {“object Object”=>{“,”=>{“object Object”=>{“,”=>{“object Object”=>nil}}}}}` 在Chrome的开发工具中,我可以看到这确实是发送到服务器的表单数据: 当我删除remote: true时,表单非常有效remote: true (当然,在这种情况下,它会发送HTML请求而不是JS请求)。 任何人都知道我做错了什么? 顺便说一句,我使用的是Rails 3.2.8和Remotipart 1.0.2(最新版)。 编辑:做了一些挖掘。 看看Remotipart的来源,我似乎无法理解它应该做什么。 例如,在vendor/assets/javascripts/jquery.remotipart.js ,第22行具有以下内容: settings.data = form.serializeArray(); 再向下,设置将通过$.rails.ajax(settings)发送到服务器。 $.fn.serializeArray()方法返回一个JS对象数组。 如果我们将它们分配给jQuery.ajax()调用的data属性,那将解释我在服务器上看到的序列化对象参数。 我们需要传递一个对象作为数据属性,而不是一个对象数组? 但是,当我尝试将数组展平为一个对象时,整个事情就会中断并且HTML请求被发送到服务器而不是JS服务器。 我认为它与jQuery.ajax.processData […]

Rails邪恶的gem重定向与params

我正在使用邪恶的gem来构建表单向导。 在文档中,它使用current_user对象,但我想使用不同的对象。 我正在努力为redirect_to添加一个参数,所以我可以使用这个对象。 products_controller.rb def create @product = current_user.product.build(params[:product]) @product.ip_address = request.remote_ip if @product.save redirect_to product_steps_path # This is where I think I need to pass product object but not sure how else render ‘new’ end end product_steps_controller.rb class ProductStepsController < ApplicationController include Wicked::Wizard steps :apps, :templates def show @product = Product.find(params[:id]) render_wizard end end […]

Rails引擎中的自定义视图脚手架

我正在尝试从我的引擎中获取自定义脚手架。 我按照一些教程在普通的Rails应用程序中自定义Rails 3.2脚手架,并将我的自定义模板放在engines / lib / templates / erb / scaffold目录中,但它们不会被包含引擎的应用程序选中。 有什么建议? 更新:我还尝试覆盖Rails ScaffoldGenerator的source_path并尝试了一些其他路径来放入我的模板,例如: lib / rails / generators / erb / scaffold / templates

Rails helper方法:嵌套哈希到嵌套HTML列表

我正在尝试编写一个Rails帮助器方法来将嵌套的哈希转换为嵌套的HTML列表。 例如: { :parent => “foo”, :children => [ { :parent => “bar”, :children => [ { :parent => “baz”, :children => [] } ] } ] } 应成为: foo bar baz 散列可以具有任意数量的级别,以及每个级别的任意数量的父级。 请达到这个目的的最佳方法是什么?

Twitter Bootstrap中Dropdown链接的模态

我正试图通过我的下拉菜单中的链接进行模式启动。 模态似乎启动(网站变灰),但无法看到。 不在下拉列表中的常规链接的模态工作正常。 我愚弄了jquery,但由于我是jquery的新手,所以没有任何结果。 这是我的网站代码。 My Item × Delete My Item? Are you sure you really want to delete My Item? Delete Item Cancel Edit Item Delete Item 这里是javascript文件的末尾 这是我的rails代码以防万一。 “modal”, “data-target” => “#DeleteItem” %> × “btn btn-primary” %> Cancel

从rails控制台获取“SQLite3 :: CorruptException:数据库磁盘映像格式错误”

我正在做Michael Hartl的rails屏幕播放教程,在第7章中,我试图将用户添加到数据库中,以便测试用户显示页面。 当我创建一个用户时,它会被一个SQLite3 :: CorruptException回滚:数据库磁盘映像格式错误。 对此错误的研究建议停止“后缀”过程,但我没有安装postfix。 有任何想法吗? 请注意,我是新手,这很可能是我的一个简单错误! 谢谢! 1.9.3p194 :009 > user = User.create(name: “dax”, email: “poo@foo.bar”, password: “lala”, password_confirmation: “lala”) (0.1ms) SAVEPOINT active_record_1 User Exists (0.2ms) SELECT 1 AS one FROM “users” WHERE LOWER(“users”.”email”) = LOWER(‘poo@foo.bar’) LIMIT 1 SQL (0.6ms) INSERT INTO “users” (“created_at”, “email”, “encrypted_password”, “name”, “salt”, “updated_at”) VALUES (?, ?, ?, […]

Rails 3.2和Sass不呈现Application.css

我刚刚对Rails 3.2以及最新的Sass和Coffee Rails Gems进行了重大升级,但我的Application文件不会呈现为Application.css.scss。 我在我的HTML中这样做了: 当我在我的开发模式中查看页面源时,我得到了 到底他妈发生了什么!? 它似乎将.css附加到我放在stylesheet_link_tag中的所有内容,所以如果我把它留在我的页面源代码中的’application’我有application.css等。

通过在单击链接时呈现部分来添加部分到表单

更新3: 对于读取此内容的任何人来说,这就是为什么它在下面的更新2中没有按预期工作的原因: 将局部变量传递给在视图已经加载后呈现的局部变量 如果有人知道如何解决这个问题,请告诉我。 更新2: 我用引号更新了javascript,它部分有效…在javascript现在正常运行的意义上,当我点击链接时它会导致页面上出现一串文字,只要我只有部分包含一串文字。 但是,当部分包含表单字段代码时,出现问题。 如果我只是将以下呈现代码直接粘贴到new.html.erb视图中的表单中,它会正确生成新的表单部分。 但是,当我尝试在comps_helper.rb中包含类似的代码然后从link_to引用它时,它不起作用: 在comps_helper.rb中: def addRound(f) render “add_round”, f: f end 在new.html.erb中: 我将addRoundLink.js.erb更改为: $(“#some_id”).html(“”); #Is this the correct change to have made here? 在这种情况下,单击link_to链接不会执行任何操作。 有什么想法吗? 更新的代码: 谢谢回复。 我做了以下更改,但似乎仍然无法正常工作。 链接显示在表单的底部,但单击时不会更改任何内容。 我错过了什么? routes.rb中: resources :comps match ‘/new_competition’, :to => “comps#new” get “/addRoundLink” => “comps#addRoundLink”, :as => :addRoundLink 注意:我包括与“comps”相关的其他2行,以防万一会引起问题。 comps_controller.rb: def addRoundLink […]