小编mea*_*gar的帖子

如果设置了var,我应该使用哪个函数进行测试?

我有时会混淆使用它们中的哪一个,

说我有一个叫做的功能 getmember($id)

function getmember($id)
{

// now this is the confusing part 
// how do i test if a $id was set or not set?

//solution 1
if(empty($id))
{
return false;
}


// solution 2

if(isset($id))
{
return false;
}

}
Run Code Online (Sandbox Code Playgroud)

这有时我不清楚,有时如果函数中的参数设置为 function($var="")

然后我做

if($var ==="")
{
return false;
} 
Run Code Online (Sandbox Code Playgroud)

下次我该怎么用isset ? empty ? or ===''

php

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

RSpec,存根嵌套资源方法

我有两个型号:

class Solution < ActiveRecord::Base
  belongs_to :owner, :class_name => "User", :foreign_key => :user_id
end

class User < ActiveRecord::Base
  has_many :solutions
end
Run Code Online (Sandbox Code Playgroud)

我在这样的用户中嵌套解决方案:

ActionController::Routing::Routes.draw do |map|
  map.resources :users, :has_many => :solutions
end
Run Code Online (Sandbox Code Playgroud)

最后这是我试图规范的行动:

class SolutionsController < ApplicationController
  before_filter :load_user

  def show
    if(@user)
      @solution = @user.solutions.find(params[:id])
    else
      @solution = Solution.find(params[:id])
    end
  end

  private

  def load_user
    @user = User.find(params[:user_id]) unless params[:user_id].nil?
  end
end
Run Code Online (Sandbox Code Playgroud)

我的问题是,我怎么样@user.solutions.find(params[:id])

这是我目前的规格:

describe SolutionsController do

  before(:each) do
    @user = Factory.create(:user)
    @solution = Factory.create(:solution)
  end

  describe "GET Show," do …
Run Code Online (Sandbox Code Playgroud)

bdd unit-testing rspec ruby-on-rails nested-resources

12
推荐指数
2
解决办法
7022
查看次数

如何避免在git中进行小的更改?

我想知道,我怎么能避免在很小的代码更改中提交.例如,有时我会错过参数之间的空格或那种微小的代码格式.我问这个的原因是因为后来我必须将我的提交推送到远程存储库,我不想包含那些小的更改.

有任何想法吗?谢谢

git commit

12
推荐指数
2
解决办法
3941
查看次数

生成密码重置的密码

我正在做一个允许用户重置密码的模块.我注意到大多数网站如何提供包含具有唯一哈希的查询字符串的确认链接.

我的问题是:每次相同的用户请求忘记密码时,如何生成此唯一哈希?我应该将此哈希存储在数据库中并在以后使用它进行验证吗?它会安全吗?或者我应该创建一些生成一次性密码的算法?我怎样才能生成OTP?

php hash erlang-otp

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

任何写得好的Facebook iOS SDK教程?

我正在尝试将Facebook图形集成到我的应用程序中.我试图按照facebook的官方令人毛骨悚然的非常规文档,但它不起作用.

那里有很好的书面教程吗?谢谢

facebook facebook-graph-api ios

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

如何获取Git内部版本号并将其嵌入文件中?

我想介绍从Git中的版本中获取的版本控制常量.我知道如何做到这一点 - 在svn中以一种非常强硬的方式 -

有关如何使用Git执行此操作的任何想法?

embed git version

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

Authlogic Rails 3.1

人们使用哪种版本的authlogic与Rails 3.1.

我的gemfile中有以下条目:

gem 'authlogic', :git => 'https://github.com/AndreasWurm/authlogic.git'
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我的基础ApplicationController中有一段代码.

def require_no_user
  if current_user
    store_location
    flash[:notice] = "You must be logged out to access this page"
    redirect_to :controller => "home", :action => "index"
    return false
  end
end

def store_location
  session[:return_to] = request.request_uri
end
Run Code Online (Sandbox Code Playgroud)

我得到的错误是与行:

session[:return_to] = request.request_uri
Run Code Online (Sandbox Code Playgroud)

我收到一个错误说:

undefined method `request_uri' for #<ActionDispatch::Request:0x7dadd4d8>
Run Code Online (Sandbox Code Playgroud)

Request_uri是否已从ActionDispatch中删除,如果是,那么正确的选择是什么?

ruby-on-rails-3

12
推荐指数
2
解决办法
6876
查看次数

控制台中的缓存对象?

我将从问题开始:

  1. 我正在改变对象文字的内容.(更改属性值)
  2. Firebug控制台(首次点击)显示正确的值.
  3. 但过了一段时间,它会陷入一个特定的价值并停止改变.

(注意:stringify对象的表示 - 始终显示正确的值)

以下是详细信息:

  1. streettextbox(它应该设置StreetText对象中的值)中选择一个

  2. 我看着console(宽线)并按最后一行,看着街道文字.

起初没关系.在第二次尝试中,在我选择另一条街道之后,它保持旧价值.

但是,当我按下刷新(在对象上)时,它会显示正确的街道名称.

这里发生了什么?

在此输入图像描述

我的对象是常规对象文字:

  var obj =
            {
                getData: function ()
                {

                    obj.CountryId = $(".ddlCountry").val() || "";
                    obj.CountryText = $(".ddlCountry  :selected").text() || "";
                    obj.StateId = $(".ddlState:visible").val() || "";
                    obj.StateText = $(".ddlState:visible  :selected").text() || "";
                    obj.CityId = $(".hfDataIdCity").val() || "";
                    obj.CityText = $(".hfDataTextCity").val() || "";
                    obj.StreetId = $(".hfDataIdStreet").val() || "";
                    obj.StreetText = $(".hfDataTextStreet").val() …
Run Code Online (Sandbox Code Playgroud)

javascript firefox jquery firebug

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

我写了一个文件到Environment.DIRECTORY_DOWNLOADS,为什么我不能通过下载应用程序看到它?

我在Environment.DIRECTORY_DOWNLOADS目录中编写(写入,而不是下载,确切地说是我的应用程序的SQLite数据库的转储)文件.

File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File file = new File(path, "db.csv");
Run Code Online (Sandbox Code Playgroud)

如果我用文件浏览器浏览手机,我可以正确看到该文件

  /storage/emulated/0/Download
Run Code Online (Sandbox Code Playgroud)

目录,以及其他下载.

但是,如果我打开下载应用程序,它不会显示...

我还需要做什么才能让文件显示在下载应用程序中?

android

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

使用时升级到rspec 3导致错误应该有(1).error_on

由于我更新了我的Gemfile并转移到rspec 3,在许多测试中,我收到错误:way:

it "should reject attribute that are too short" do
      short = "a" * 3
      hash = @attr.merge(:details => short)
      Deal.new(hash).should have(1).error_on(:details)
    end
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

Failure/Error: Deal.new(hash).should have(1).error_on(:details)
     NoMethodError:
       undefined method `have' for #<RSpec::ExampleGroups::Deal_2::TestsOnDealsModelsValidations>
Run Code Online (Sandbox Code Playgroud)

我读过我现在应该使用"expect"而不是应该但是have(1).error_on,我应该如何编写它以符合rspec 3?

我尝试了以下但它仍然无法正常工作:

it "should reject attribute that are too short" do
      short = "a" * 3
      hash = @attr.merge(:details => short)
      expect(Deal.new(hash).error_on(:details).size).to eq(1)
    end
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails rspec3

12
推荐指数
2
解决办法
3830
查看次数