Tag: 的Ruby on 轨道

如何:在比赛中获得积分和分数?

class GameController @games } end end def start_game session[:round] = 1 session[:points] = 0 @round = session[:round] @points = session[:points] end def next_round @round += 1 @points += 1200 end def game_over puts “Game Over.” end def highscore puts “Leaderboard action here.” end def generate_round numbers = Array.new(6){rand(9)} @addition = [] @display = numbers numbers.inject […]

undefined方法_path(NoMethodError)

当我尝试访问包含创建post的表单的页面时,我在Rails应用程序中收到以下错误。 我正在尝试在他的示例应用程序中实现类似于Michael Hartl的Micropostfunction的function: NoMethodError in Home#index undefined method `posts_path’ for #<#:0xb60013b8> 这是索引视图页面,其中包含插入表单的代码: _post_form.html.erb: 这是Home控制器: class HomeController “Welcome #{current_user.email}!” @users = User.all @post = current_user.posts.build if signed_in? end end 我可以在查看代码时使用一些帮助。 我正盯着它,我需要别人为我审查。 我是Rails的新手,如果我没有提供必要的信息,请原谅我。 附加信息:我正在使用Devise gem来处理用户身份validation。 谢谢! 编辑:我添加了错误的控制器。 编辑2: Routes.rb文件: AppName::Application.routes.draw do #get “users/index” #get “users/show” authenticated :user do root :to => ‘home#index’ end root :to => “home#index” […]

未初始化的常量User :: Authorization | omn​​iauth

我按照上一个问题的答案 – > 将Twitter帐户连接到现有的设计帐户 但得到一个 NameError in Devise::Registrations#edit uninitialized constant User::Authorization app/models/user.rb:17:in `has_connection_with’ app/helpers/users_helper.rb:4:in `check_connection’ app/views/devise/registrations/edit.html.erb:57:in `_app_views_devise_registrations_edit_html_erb__1951492867192219113_70202479591960′ 我正在努力修复它,但没有。我错过了什么?

如何按最后评论的日期排序并按最后创建排序?

我有一个Post模型: class Post :destroy end belongs_to :post, :counter_cache => true belongs_to :user end 和评论模型: class Comment true belongs_to :user end 现在我知道如何按日期排序: created_at ASC , created_at DESC 。 现在我想知道,如何按最后评论的日期排序并按最后创建排序? 几乎就是StackOverflow的作用。 例如,如果问题得到回复,则将其置于顶部,如果回答其他问题,则将其置于顶部,依此类推。 问题按ASC排序。 生成的SQL: Started POST “/posts/30/comments” for 127.0.0.1 at 2012-03-12 11:59:32 +0800 Processing by CommentsController#create as HTML Parameters: {“utf8″=>”✓”, “authenticity_token”=>”0zGpin7T/1aH/JBomGiqsEYCIgQ04HQWHZ/bIjm7WKs=”, “comment”=>{“content”=>”sfsfwfewsdesd”}, “commit”=>”Create Comment”, “post_id”=>”30”} Post Load […]

Upvotes不工作

我正试图通过使用acts_as_votable gem来解决问题。 我收到的错误是: Couldn’t find Question with id=like 此url未显示问题ID: /comments/1/questions//like 当我手动输入问题ID时,它给了我这个: No route matches [GET] 这是我的upvote方法: def upvote @question = Question.find params[:question_id] @question.liked_by current_user redirect_to @questions end 这是routes.rb文件: resources :comments do resources :questions do put :upvote, :on => :member, :as => :like end end 和upvote按钮: Rake路由将comment_question_like_path显示为有效路由,因此不是问题。 谢谢你的帮助!

ActionMailer的default_url_options:如何从DefaultOptions自动检索端口?

我经常有许多并行运行的Rails应用程序,因此我将它们配置为使用不同的端口: # Change default port of development server, see http://stackoverflow.com/questions/18103316 require ‘rails/commands/server’ module DefaultOptions def default_options super.merge!(Port: 3001) end end 现在重要的是,这也适用于开发环境中的ActionMailer: config.action_mailer.default_url_options = {host: ‘localhost:3001’} 但是,我想直接从DefaultOptions设置它,而不是硬编码。 这怎么可能?

delayed_job和rails 3没有加载作业

我正在尝试启动delayed_job守护程序,但它返回以下错误。 $ rake jobs:工作 ***开始工作的主持人:Kelvin-Pompeys-MacBook-Pro.local pid:4712 rake aborted! 作业无法加载:无效的子类。 尝试手动要求所需的文件。 经过一段谷歌搜索我发现下面的链接表明我需要我的模型在初始化器,但我是ruby和rails的新手,我不知道如何实现这个。 任何协助赞赏。 http://github.com/collectiveidea/delayed_job/issues/issue/65

Rails ……我是否正确建模?

在我的申请中,有一些课程有步骤。 (用户通过按顺序查看步骤继续学习课程) 但是有许多类型的步骤(测验,文本,video……等)。 在这个例子中,我将展示其中的两个步骤。 这是我目前的数据库/模型设计: 脚步 ID step_type_id CLIENT_ID 标题 摘要 位置 关系 : belongs_to:客户 belongs_to:step_type has_one:step_quiz has_one step_text step_quizzes ID step_id的数据类型 说明 correct_to_pass retakes_allowed 时限 关系 : belongs_to:step has_many:quiz_questions step_texts ID step_id的数据类型 内容 关系 : belongs_to:step 之前有人向我建议这是一种多态关系,但我想我不知道它是怎么回事。 我将其视为inheritance关系,其中子步骤类型从步骤表inheritance其基本信息。 这可以用不同的方式建模吗?

Rails3 Google Maps使用selenium进行测试

我正在尝试使用Rails3测试谷歌地图应用程序。 我正在使用带有水豚和selenium的黄瓜进行JavaScript测试。 我有一张地图,我等待加载谷歌地图,然后发送一个ajax请求到我的服务器,在那里我得到我插入地图的位置。 我想知道是否可以使用selenium等到加载谷歌地图,完成对我的服务器的ajax调用并将标记放在地图内。 另一个问题是,如何在谷歌地图中选择此标记。 有选择器吗? 或者我应该走另一条路,并使用像Jasmine这样的JS测试框架来测试我的类是否已加载等等。 我对Jasmine没有任何经验,所以可以测试谷歌地图吗? 也许有人知道解决方案,或提示是否可行,或解决方法或……;) [更新1] 我已经找到了如何在谷歌地图中选择标记。 如果你看看googles selenium测试你可以看看他们在做什么。 例如,选择标记: waitForElementPresent xpath=//img[contains(@src,’marker’)] 但接下来是下一个问题。 如何选择特定标记? 是否有一种方法可以在javascript google maps API中为其分配ID,以便我可以使用#marker_1 , #marker_2 …? 另一个奇怪的事情是,我的黄瓜步骤定义中没有像wait_for_element或wait_for_condition这样的函数。 谷歌selenium测试是否使用自己的函数,如waitForElementPresent ? 或者这个标准的seleniumfunction是什么? 我发现了很多post,他们总是使用类似的东西 selenium.wait_for_condition selenium.wait_for_element or @selenium.wait_for_condition … 在我的步骤定义中, selenium和@selenium var a nil。 我该如何访问这些方法? 我也发现了这篇文章 ,但它是从08年10月开始的,所以我认为必须有一个更好的解决方案(顺便说一句。这个解决方案一见钟情)。 就像在这个页面上一样,他们概述了一些如何等待条件或元素的selenium方法。 这仍然存在吗? 我该如何使用这个function? [更新2] 该死的,我发现,我上面提到的selenium测试是针对谷歌地图的V2,而不是针对V3。 我试过了 wait_until { page.has_xpath?(“//img[contains(@src,’marker’)]”) } 但它不起作用。 标记在地图上可见,但是我收到超时错误,因为找不到此XPath选择器。 […]

(Ruby on Rails)哪些gem每天都会自动生成一个新的“博客post”?

我正在创建一个博客应用程序,并希望我的应用程序每天自动生成一个新的博客post,从用户定义的开始日期开始。 我听说过一些像发条,每当,Rufus-Scheduler这样的gem,我不确定哪个是最好的,或者如果它们中的任何一个都可以。 有没有人有过使用任何这些gem的经验? 我此刻感到非常困惑。 谢谢!