小编Nie*_*tra的帖子

Coffeescript无可比拟的突出错误

SyntaxError: Unmatched OUTDENT on line 9当我尝试编译以下coffeescript代码时,我收到错误.我不确定我做错了什么.缩进似乎是正确的,我拥有我想要的一切.

row_possibilities = (grid) ->
  for rows in [0..8] by 1
    for columns in [0..8] by 1
      if(Array.isArray(grid[rows][columns])
        for possible_val in grid[rows][columns] by 1
          grid = unique_row_possibility(grid, rows, columns, possible_val)
          if(Array.isArray(grid[rows][columns]) == false)
            break
  return grid
Run Code Online (Sandbox Code Playgroud)

代码应该做的是运行三个for循环,如果发生某种情况,则打破最里面的for循环.

在所有for循环运行之后.我想返回变量网格.我已经仔细检查了间距,我在repl.it上试了一下,但我无法弄明白.

coffeescript

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

如何在ruby中通过SSL调用HTTP POST方法?

所以这是使用curl的请求:

curl -XPOST -H content-type:application/json -d "{\"credentials\":{\"username\":\"username\",\"key\":\"key\"}}" https://auth.api.rackspacecloud.com/v1.1/auth
Run Code Online (Sandbox Code Playgroud)

我一直试图用ruby做同样的请求,但我似乎无法让它工作.

我也尝试了几个库,但我无法让它工作.这是我到目前为止所拥有的:

uri = URI.parse("https://auth.api.rackspacecloud.com")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new("/v1.1/auth")
request.set_form_data({'credentials' => {'username' => 'username', 'key' => 'key'}})
response = http.request(request)
Run Code Online (Sandbox Code Playgroud)

我得到415不支持的媒体类型错误.

ruby ssl https curl

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

修改Rails中的params哈希

我在Rails中创建了一个嵌套模型,但我想在控制器中的嵌套模型中添加字段.我没有使用hidden_​​field_tag,因为它可能被篡改.

这是我的参数哈希:

 Parameters: {"dummy"=>{"users_attributes"=>{"0"=>{"email"=>"jjjj@gmail.com", "id"=>"", "_destroy"=>"false"}, "1"=>{"email"=>"qqq@gmail.com", "id"=>"", "_destroy"=>"false"}}}, "commit"=>"Create Dummy"}
Run Code Online (Sandbox Code Playgroud)

我想要的是在每个user_attributes下有一个名为companyid的字段.假设我想让companyid成为"公司",那么我认为这样可行:

len = params["dummy"]["users_attributes"].size
 counter = 0
 while counter < len
  params["dummy"]["users_attributes"][counter]["companyid" => "company"]
  counter = counter + 1
end
Run Code Online (Sandbox Code Playgroud)

但是,我得到"未定义的方法`[]'为nil:nilClass"错误为while循环中的第一行.我不确定为什么.

有人可以帮助我,所以我可以修改params哈希?

编辑:所以,我终于明白了.我并没有真正使用任何解决方案.首先,我为hiddenid设置了hidden_​​field标记为空白.然后,在我的控制器中,我把:

 params["dummy"]["users_attributes"].each do |key, val|
  params["dummy"]["users_attributes"][key]["companyid"] = "company"
 end
Run Code Online (Sandbox Code Playgroud)

不是最优雅的代码,但它会起作用.

ruby-on-rails nested-attributes ruby-on-rails-3

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

为什么ruby只允许默认参数和splats的某些排序?

编码ruby时我遇到了一个奇怪的情况:

def foo(bar=true,baz,*args)
end
Run Code Online (Sandbox Code Playgroud)

引发此错误:

syntax error, unexpected tSTAR
Run Code Online (Sandbox Code Playgroud)

而这些:

def foo(bar,baz=true,*args)
end

def foo(bar=true,baz=true,*args)
end
Run Code Online (Sandbox Code Playgroud)

没关系.

为了增加陌生感,这些:

def foo(bar,baz=true)
end

def foo(bar=true,baz)
end
Run Code Online (Sandbox Code Playgroud)

都工作.

但是,这个:

def foo(bar=true,baz,args=true)
end
Run Code Online (Sandbox Code Playgroud)

引发错误,但这些:

def foo(bar=true,baz=true,args)
end

def foo(bar,baz=true,args=true)
end
Run Code Online (Sandbox Code Playgroud)

没事.

我认为有一个合乎逻辑的原因,为什么允许某些组合而其他组合不允许,但我无法通过谷歌或搜索stackoverflow找到它们.我的问题很简单:为什么其中一些组合允许,而其他组合则不允许?

ruby

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

以 DRY 方式跨 rspec 规范共享工厂

所以我有一些这样的模型规格:

describe 'something' do
  it 'another thing' do
    a_model = FactoryGirl.create(:a_model)
    another = FactoryGirl.create(:another)
    #some code using a_model and another 
  end
end
Run Code Online (Sandbox Code Playgroud)

然后,我有另一个模型规格:

describe 'something else' do
  it 'another test' do
    a_model = FactoryGirl.create(:a_model)
    another = FactoryGirl.create(:another)
    #different code using a_model and another 
  end
end
Run Code Online (Sandbox Code Playgroud)

我的问题是我如何干燥它?我查看了共享上下文,但随后无法访问我的模型。我可以创建一个辅助方法并返回一个对象数组/散列,但似乎应该内置一些东西来以优雅的方式执行此操作。

ruby rspec2 ruby-on-rails-3 factory-bot

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

无法在rspec和rails中测试发布请求

我一直在寻找互联网,但我似乎无法让这个工作.

我想做的就是发送一个post请求并在rspec中测试响应.

这是我在controller_spec中的内容:

it 'my test' do
  post 'api/company_id', :parameters => {key => 'value'}
  response.should be_success
end
Run Code Online (Sandbox Code Playgroud)

我收到此错误:意外的$ end,期待keyword_end(SyntaxError)

这是post语句发生的行(代码块中的第二行).

我很难过,但任何帮助都会很棒.

ruby capybara rspec2 ruby-on-rails-3

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