小编jac*_*n09的帖子

克隆来自其他人的Github的回购并将其推送到我的Github上的回购

我在https://github.com/railstutorial/sample_app_rails_4克隆了回购并对它进行了很多更改(我用它作为我自己的应用程序的起点),现在我想将更改的应用程序推送到回复我自己的github帐户.

如何更改链接到的github repo?

git github

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

FactoryGirl错误:"已经收到电子邮件."

使用下面的工厂时出现错误(如下所示).它通过运行暂时修复rake db:test:prepare,但是,这仅修复了一次运行测试.我可以做些什么来获得更永久的修复?我应该用database_cleaner吗?如果是这样,任何人都可以提供任何设置的见解(我使用RSpec,Capybara,Rails 4,Ruby 2)?谢谢!

我使用以下工厂:

FactoryGirl.define do 
  factory :user do
    sequence(:username)   { |n| "Person #{n}" }
    sequence(:email)      { |n| "person_#{n}@example.com" }
    password "foobar"
    password_confirmation "foobar"

    factory :admin do
      admin true
    end
  end

  factory :key do
    sequence(:name)  { |n| "Key #{n}" }
    sequence(:description)  { |n| "This is key #{n}" }
    root_note "C"
    accidental "Natural"
    third "Major"
    user
  end

  factory :chord do
    root_note "C"
    accidental "Natural"
    third "Major"
    fifth ""
    extension ""
    sequence(:name) { |n| "Chord #{n}" } …
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails factory-bot

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

如何邀请用户(使用devise_invitable)并在邀请过程中填充其他字段?

例如,当我去时users/invitations/new,唯一的领域是:email.我想邀请一位用户,除了提供他们的电子邮件外,还提供:

  • 名字
  • 角色
  • 公司(user belongs_to company)

我创建了Users::InvitationsController < Devise::InvitationsController:

class Users::InvitationsController < Devise::InvitationsController
   private
   def resource_params
     params.permit(user: [:email, :invitation_token, :role, :company_id])[:user]
   end
end
Run Code Online (Sandbox Code Playgroud)

我把这些字段添加到了users/invitations/new.邀请发送正常,但是当我接受它并输入密码时,我的验证失败了No role is selected(b/c验证).

如何在发送邀请之前设置这些字段并将其保留并在接受邀请时保存?谢谢!

ruby ruby-on-rails devise devise-invitable

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

Rails sort_by方法有两个字段,一个按升序排序,一个按降序排序

我想渲染部分按分数排序,然后按名称排序(如果多个玩家具有相同的分数).

现在我正在使用这个:

<%= render @players.sort_by { |p| [p.scored_vote(current_week), p.last_name] } %>
Run Code Online (Sandbox Code Playgroud)

这是有效的,但它按升序对分数进行排序,我想按降序对它们进行排序.如何翻转分数的排序顺序,而不是名称,我仍然希望按升序排序?

谢谢!

ruby ruby-on-rails

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

报告一组记录的分组平均值

我的目标是生成一份报告,显示一周中某一天和/或一天中某个车库的平均占用率(y轴).我的数据模型如下:

  • 车库has_many汽车和车库has_many预约,through: :cars
  • 汽车has_many预约
  • 预约有以下字段:
    • picked_up_at(日期时间)
    • returned_at(datetime)

此外,车库有一个场地capacity (integer),这是适合车库的最大车辆数量.

如果我有一个跨越过去6个月的约会列表,我想生成一个线图,其中x轴显示一周中的每一天,分为4小时间隔,y轴显示在给定的日/小时间隔的6个月期间内,平均占用率(车库中的车辆数/容量),我该如何收集这些数据进行报告?

例如,汽车是In从一个约会的回归到下一个约会的提货,Out从约会的提货到returned_at时间.

从这些数据点建立连接到有意义地报告并将它们呈现给最终用户的最佳方式,我遇到了很多麻烦.

我使用的是Rails 4.1和Ruby 2.0.

编辑:SQL小提琴 - http://sqlfiddle.com/#!9/a72fe/1

ruby sql postgresql activerecord ruby-on-rails

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

在rails控制器中挽救无效日期

我在控制器中有这个:

pickuptime = params[:appointment][:pickuptime]
pickuptime = DateTime.strptime(pickuptime, "%m/%d/%Y %l:%M %p %Z")
Run Code Online (Sandbox Code Playgroud)

rescue如果我发DateTime.strptimeInvalid Date错误并将其重定向回上一页并显示flash消息"Invalid date",我想这样做.我怎么能做到这一点?

我使用的是Ruby 2.1.2和Rails 4.1.4.谢谢!

ruby exception-handling ruby-on-rails rescue

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

rails字段是JSON对象的数组?

我有一个Damage包含以下字段的表:

  • 描述
  • date_of_damage

我想添加另一个要存储的字段Damagepoints,它们是看起来像这样的JSON对象:

{ top: 50, left: 100 }
Run Code Online (Sandbox Code Playgroud)

顶部和左侧是damagepoint图表上的坐标.的damagepoints加入/通过使用Javascript使用者移除.

但是,我想在一个字段中存储这些数组damagepoints,如下所示:

@damage.damagepoints = [{left: 40, top: 99}, {left: 100, top: 35}, {left: 150, top: 95}]
Run Code Online (Sandbox Code Playgroud)

我不想使用Damagepoint具有has_many关系的表来执行此操作,因为对此的所有更改都将使用Javascript完成,如果Damagepoints由用户创建或删除,我只想从客户端传递更新的数组damagepoints和用新数组替换数据库中的旧数据库.如果我使用了一个has_many关系,我必须删除所有的Damagepoints并在每次更新数组时创建每个新关系(因为它太复杂并且没有删除/添加特定损坏点的好处,因为我不需要跟踪历史).

存储数据的最简单方法是什么@damage.damagepoints(如上)?我需要做的就是将它(通过控制器)传递给html5数据属性,以便Javascript可以将它用于将现有数据添加damagepoints到图表中(基于它们的坐标),然后传递更新的数组(当用户点击"保存"按钮时,通过AJAX调用从html5数据属性返回控制器.

我正在使用Rails 4.2和Postresql.

谢谢!

javascript ruby postgresql json ruby-on-rails

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

在Capybara中使用Given/Let w/Feature/Scenario

我想使用"given"(或"let")设置一个变量,该变量可以通过spec.rb文件中的所有"功能"访问.我该怎么做呢?"给定"声明应该放在文件中的哪个位置?谢谢!

require 'spec_helper'

feature "Home page" do
  given(:base_title) { "What Key Am I In?" }
  scenario "should have the content 'What Key Am I In?'" do
    visit '/static_pages/home'
    expect(page).to have_content('What Key Am I In?')
  end

  scenario "should have the title 'What Key Am I In? | Home'" do
    visit '/static_pages/home'
    expect(page).to have_title("#{base_title}")
  end

  scenario "should not have a custom page title | Home'" do
    visit '/static_pages/home'
    expect(page).not_to have_title("| Home")
  end  
end

feature "About page" do
  scenario "should have the content …
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails capybara

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

在rails应用程序中使用AJAX来更新模型字段而不使用表单

我有一个看起来像这样的表:

在此输入图像描述

每一行都来自这个部分:

<div class="row chord-table-row" id= <%= "chord-#{chord.id}" %>>
    <div class="small-1 columns"><%= chord.id %></div>
    <div class="small-2 columns"><%= chord.name %></div>
    <div class="small-3 columns"><%= chord.description %></div>
    <div class="small-3 columns"><%= chord.user.username %></div>
    <div class="small-3 columns"><%= link_to 'Approve', approve_path, class: 'chord-approval-button' %></div>
</div>
Run Code Online (Sandbox Code Playgroud)

如何让'Approve'按钮进入中的approve动作chords_controller,这将更新stateChord 的字段,然后运行JS/Coffeescript approve.js.coffee

我(理想情况下)喜欢remote: true在"批准"链接中使用,但我不确定如何确保控制器知道哪个和弦被批准.

现在#approve动作如下所示:

def approve
  chord.approve
  # this method is on the Chord model and is working
  respond_to do |format|
    format.js
  end
end
Run Code Online (Sandbox Code Playgroud)

我想以正确的"轨道"方式做到这一点,所以任何指导/建议都将非常感谢!谢谢!

javascript ruby ajax jquery ruby-on-rails

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