小编shr*_*roy的帖子

如何在cmder中运行msysgit?

当我不小心退出时,我在cmder中使用msysgit和git-bash.
现在我似乎无法弄清楚如何进入我之前拥有的unix环境.

Git bash不被识别为命令.
我只看到典型的命令窗口提示显示C:/User/..而不是$~User.

你将如何恢复git bash会话?

git msysgit git-bash

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

在Rails 4中组织外部API调用 - 模块还是类?

我正在创建一个Rails应用程序,它将使用相当多的外部API,如SalesForce,FolderGrid(如Dropbox)等,这些都将同步到我的数据库.我从未使用外部api调用,所以我创建了一些基本的Ruby脚本,使用分散的方法来测试对这些资源的调用.现在我想用我的完整Rails应用程序实现它们.

到目前为止,我开始在我的/ lib文件夹中创建一个目录来保存api调用模块/类.

/lib/apis/foldergrid.rb

现在我不确定组织代码的最佳方法是什么.在我的独立Ruby脚本中,我有方法authenticating, creating a folder, auditing files, downloading files等.

什么应该在模块中?我甚至需要一个模块吗?班上应该怎么做?如何确保我可以在需要的模型和控制器中使用这些方法?是否有关于外部API的最佳实践?

任何资源,链接和/或更深入的理解都受到高度赞赏.

ruby ruby-on-rails call shared-libraries ruby-on-rails-4

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

Rails 4:将复选框结果保存到序列化阵列

我有一个Campaign带有channel列的模型.这channelserialized通过复选框存储一系列选定结果.

这是模特..

应用程序/模型/ campaign.rb

class Campaign < ActiveRecord::Base
    serialize :channels, Array
end
Run Code Online (Sandbox Code Playgroud)

应用程序/控制器/ compaigns_controller.rb

class CampaignsController < ApplicationController
      def index
        @campaigns = Campaign.all.order("created_at DESC")
      end

      def new
        @campaign = Campaign.new
      end

      def create
        @campaign = Campaign.new(campaign_params)


        if @campaign.save

            zip = Uploadzip.find(params[:uploadzip_id])
            zip.campaign = @campaign
            zip.save

            flash[:success] = "Campaign Successfully Launched!"
            redirect_to @campaign
        else
            flash[:error] = "There was a problem launching your Campaign."
            redirect_to new_campaign_path
        end
      end

      def show
        @campaign = Campaign.includes(:program, :uploadzip, …
Run Code Online (Sandbox Code Playgroud)

ruby checkbox ruby-on-rails form-helpers ruby-on-rails-4

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

Rspec:验证失败:名称已被占用

运行我的规范时,FactoryGirl在 rspec 甚至可以遍历它们之前,我就被错误阻止了。

Finished in 0.18709 seconds (files took 1.57 seconds to load)
0 examples, 0 failures

/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/linter.rb:14:in `lint!': The following factories are invalid: (FactoryGirl::InvalidFactoryError)

* program - Validation failed: Name has already been taken (ActiveRecord::RecordInvalid)
    from /.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/linter.rb:4:in `lint!'
from /.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl.rb:59:in `lint'
from /spec/support/factory_girl.rb:9:in `block (2 levels) in <top (required)>'
from /.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:333:in `instance_exec'
from /.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:333:in `instance_exec'
from /.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/hooks.rb:357:in `run'
from /.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1559:in `block in run_hooks_with'
from /.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1559:in `each'
from /.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1559:in `run_hooks_with'
from /.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1525:in `with_suite_hooks'
from /.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:109:in `block in run_specs' …
Run Code Online (Sandbox Code Playgroud)

ruby tdd rspec ruby-on-rails factory-bot

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

Rspec:测试嵌套销毁操作

我正在尝试测试嵌套注释控制器的“销毁”操作。Post has_many Comments。我之前遇到过类似的问题,并且知道我需要传递一个 id,但我仍然遇到一个非常熟悉的错误......

\n\n
Failures:\n\n  1) CommentsController#DELETE destroy deletes a comment\n     Failure/Error: delete :destroy, comment: create(:comment), post_id: @post\n     ActionController::UrlGenerationError:\n       No route matches {:action=>"destroy", :comment=>"1", :controller=>"comments", :post_id=>"1"}\n     # ./spec/controllers/comments_controller_spec.rb:19:in `block (3 levels) in <top (required)>\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

评论控制器规范.rb

\n\n
RSpec.describe CommentsController, :type => :controller do\n        before :each do\n          @post = FactoryGirl.create(:post)\n        end\n\n\n    ....\n\n\n        describe \'#DELETE destroy\' do\n          it \'deletes a comment\' do\n            delete :destroy, comment: create(:comment), post_id: @post\n            expect(response).to redirect_to post_path\n          end\n        end\nend\n
Run Code Online (Sandbox Code Playgroud)\n\n

评论控制器.rb

\n\n
def destroy\n    @post …
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails factory-bot

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