Tag: ruby on rails 3

Heroku 您提供了devise_for:users但您的应用程序中没有用户定义的模型

我有一个rails 3(3.0.9)应用程序在ruby 1.8.7上工作,我的计算机上的gem devise(1.4.2)工作得很好。 我试图在heroku上推送它,我在应用程序加载时收到以下错误消息: [WARNING] You provided devise_for :users but there is no model User defined in your application => Booting WEBrick => Rails 3.0.9 application starting in production on http://0.0.0.0:43292 => Call with -d to detach => Ctrl-C to shutdown server Exiting /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/inflector/methods.rb:124:in `block in constantize’: uninitialized constant User (NameError) from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/inflector/methods.rb:123:in `each’ […]

如何validation提交ActiveRecord的单个属性而不是其所有属性?

我正在使用Ruby on Rails 3,我想为提交ActiveRecord而不是其所有属性validation单个属性。 例如,在我的模型中,我有: validates :firstname, :presence => true, … validates :lastname, :presence => true, … 我想分别在:firstname和:lastname上运行validation 。 可能吗? 如果是这样,我该怎么做? PS:我知道出于validation目的,有一些方法,如“validates_presence_of”,“validates_confirmation_of”,……,但我只想使用上面的代码。

刷新当前页面的操作

我想在Rails控制器中创建一个动作,它在数据库中执行某些操作,然后刷新当前页面。 例: 控制器:A 观点:A,B 控制器A如下: def action1 somethingToTheDB end 视图A如下: -html- -body–link to action 1–/body- -/html- 视图B如下 -html- -body–link to action 1–/body- -/html- 如果我从视图AI动作1想要刷新视图A,如果我来自视图2我想刷新视图2.是否可以在链接中传递参数以指示必须呈现的视图? 谢谢

通过对另一个表中的值进行分组来对订单表进

我有一个问题表:标题每个问题都有答案,在另一个表中:text,question_id每个答案都有投票,在另一个表中:answer_id 我可以要求总票数 question.votes.count 我已经看到如何在http://guides.rubyonrails.org/active_record_querying.html#group上对投票数据库进行分组 Vote.group(“answer_id”) 但我想通过投票来命令我的问题。 这是通过另一个表的分组从表中排序数组。 那可能吗? q=Question.last q.answers.order_by_vote #How to do this? 我认为我的答案可能是在答案模型上做一个范围,该范围使得对属于该问题的投票子集进行分组。 我对吗? 谢谢。

使用link_to切换布尔值

我已经阅读了相关的Stack问题,但似乎仍然遇到了以下代码的路由错误: 的routes.rb resources :memberships do put :toggleon put :toggleoff end Memberships_controller.rb def toggleon @membership = Membership.find(params[:id]) @membership.update_attributes(:active => true) if user.id == membership_id redirect_to root_path else redirect_to group end end def toggleoff @membership = Membership.find(params[:id]) @membership.update_attributes(:active => false) if user.id == membership_id redirect_to root_path else redirect_to group end end Show.html.erb 错误文字 Started POST “/memberships/13” for […]

在after_createfilter中获取当前用户

我知道在模型中获取current_user是个坏主意。 我也知道有办法(使用Thread)。 但是,我不想这样做(这当然是一个坏主意),所以我想对以不同的方式实现这一点有意见。 用户可以创建一个战队,在创建战队时,他必须是领导者。 Clan模型是: class Clan < ActiveRecord::Base after_create :assign_leader # the person who created the clan is the leader def assign_leader self.clan_memberships < ???, :role => ‘leader’) end end 我知道我可以在控制器中创建成员资格。 但是,我喜欢filter充当交易,我更喜欢这个filter。 但是,这里真的有一种正确的,非“黑客”的做法吗?

如何在rails中使用ruby库?

我刚安装了rubygem gem install anemone 但我不能直接在我的rails应用程序中使用它,这是我第一次使用外部ruby库,所以如果你能让我深入了解它而不仅仅是一个解决方案将会非常有用 干杯

Rails路由问题与控制器测试

我不知道我在这里做错了什么。 任何人有任何见解? 这是我的routes.rb resources :accounts do collection do get “search/:term/:offset/:limit.:format”, :action => “search”, :constraints => { :offset => /\d+/, :limit => /\d+/ } end end 这是我的佣金路线输出… GET /accounts/search/:term/:offset/:limit.:format {:offset=>/\d+/, :action=>”search”, :controller=>”accounts”, :limit=>/\d+/} 这是我的测试线…… get :search, :term => “Test”, :offset => 0, :limit => 2 这是我的错误…… ActionController::RoutingError: No route matches {:term=>”Test”, :action=>”search”, :controller=>”accounts”, :offset=>0, :limit=>2} 有任何想法吗? […]

使用Ruby on Rails将JSON / XML数据发布到Web服务

我在Java中使用Spring框架构建了一个Web服务,并在localhost上的tc服务器上运行。 我使用curl测试了Web服务,它可以工作。 换句话说,此curl命令将向Web服务发布新事务。 curl -X POST -H ‘Accept:application/json’ -H ‘Content-Type: application/json’ http://localhost:8080/BarcodePayment/transactions/ –data ‘{“id”:5,”amount”:5.0,”paid”:true}’ 现在,我正在使用RoR构建一个Web应用程序,并希望做类似的事情。 我该如何构建它? 基本上,RoR Web应用程序将是发布到Web服务的客户端。 搜索SO和网络,我发现了一些有用的链接,但我无法让它工作。 例如,从这篇文章中 ,他/她使用net / http。 我试过但它不起作用。 在我的控制器中,我有 require ‘net/http’ require “uri” def post_webservice @transaction = Transaction.find(params[:id]) @transaction.update_attribute(:checkout_started, true); # do a post service to localhost:8080/BarcodePayment/transactions # use net/http url = URI.parse(‘http://localhost:8080/BarcodePayment/transactions/’) response = Net::HTTP::Post.new(url_path) request.content_type = ‘application/json’ […]

Rails 3.2带有乘客无限错误的资产管道

最近我将我的应用程序迁移到了3.2.1,看起来我是另一个在资产管道方面苦苦挣扎的开发人员。 一切看起来都不错,我的资产被编译并显然服务。 在我的文档的源代码中,我可以看到: 链接工作得很好。 但是,我的js或css实际上都没有加载。 我在apache日志中实际看到的唯一错误是: cache: [GET /] miss 我调整了我的apache配置,包括: XSendFile On … Header unset Last-Modified Header unset ETag FileETag None ExpiresActive On ExpiresDefault “access plus 1 year” 我与卡斯特拉诺和乘客一起部署。 有没有人遇到过这个问题?