小编Jer*_*ert的帖子

Ruby错误:"符号作为数组索引"

我正在为create控制器的方法编写规范:

describe "POST create" do

    it "should create an adtag with valid params" do
      campaign = Campaign.make

      campaign_attributes = Hash.new
      campaign_attributes[:adtag_attributes] = Hash.new
      campaign_attributes[:adtag_attributes][:code] = "<h1>Sample code</h1>"

      post 'create', { :id => campaign.id, :campaign => campaign_attributes }
    end

end
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我"Symbol as array index"在控制器中遇到错误,当它试图处理这段代码时:

params[:campaign][:adtag_attributes].each_with_index do |attributes,index|
  # some code
end
Run Code Online (Sandbox Code Playgroud)

任何的想法 ?谢谢

编辑1:

我没有编写控制器,但它适用于手动测试.调用我的控制器的视图具有以下代码:

fields_for 'campaign[adtag_attributes][]', adtag do |adtag_form|
Run Code Online (Sandbox Code Playgroud)

也许我的规格不好?

编辑2:

由于Rishav的回答,问题解决了.我不明白在视图中,campaign[adtag_attributes][]意味着campaign[adtag_attributes]是一个数组.

所以我只是换了

campaign_attributes = Hash.new
campaign_attributes[:adtag_attributes] = Hash.new
campaign_attributes[:adtag_attributes][:code] = "<h1>Sample …
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails

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

Spring Rspec binstub没有使用Rails 5 RC1提高速度

我正在使用Rails 5 RC1.使用spring-commands-rspec gem(在编写本文时暂时没有更新),我已经生成了这个spring rspec binstub bin/rspec:

#!/usr/bin/env ruby
begin
  load File.expand_path('../spring', __FILE__)
rescue LoadError => e
  raise unless e.message.include?('spring')
end
require_relative '../config/boot'
load Gem.bin_path('rspec-core', 'rspec')
Run Code Online (Sandbox Code Playgroud)

bin/rspec工作,但如果我bin/rspec再次运行,它需要的时间与第一次相同.

没有速度改进,即使spring status告诉我这个:

Spring is running:

29530 spring server | my_app | started 9 secs ago
29531 spring app    | my_app | started 9 secs ago | test mode
Run Code Online (Sandbox Code Playgroud)

这表明一切都正确预装.

相同的设置在Rails 4上完美运行.有关如何使其在Rails 5 RC1中运行的任何想法?

ruby rspec ruby-on-rails spring-gem ruby-on-rails-5

5
推荐指数
0
解决办法
410
查看次数

Spring MVC @Controller方法签名

有一种简单的方法来查看所有可能的方法签名,当我通过注释类创建一个控制器@Controller

我找不到列出所有内容的spring文档.从他们的指南来看,它似乎非常灵活,我不知道我可以返回什么或者我可以在方法参数中使用什么.

java spring-mvc

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

如何在Rails中渲染base64编码的图像?

我的应用程序中有一个base64编码的JPG,我想在控制器中将该图像渲染为JPG.

base64 ruby-on-rails

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

Spring MVC - 请求的资源()不可用

我正在开发一个Spring 3.1 MVC应用程序,我的浏览器中根本没有渲染的JSP.相反,我看到一条消息说"请求的资源()不可用." 有人可以帮忙吗?这是我的错误消息.

    HTTP Status 404 - 

--------------------------------------------------------------------------------

type Status report

message 

description The requested resource () is not available.
Run Code Online (Sandbox Code Playgroud)

这是GuestBook.jsp.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="myTag" uri="commentsTag"%>
<html>
<head>
<title>Granada High School Class of 1986 Comment Page</title>
<!-- Put a confirmation message here once you
     figure out how to do it with Spring -->
<style type="text/css">
p {
    text-align: justify;
}

h1 {
    text-align: center;
}
</style>
</head>
<body>
    <h1>Granada High School Class …
Run Code Online (Sandbox Code Playgroud)

java spring-mvc

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