我正在为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) 我正在使用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中运行的任何想法?
有一种简单的方法来查看所有可能的方法签名,当我通过注释类创建一个控制器@Controller?
我找不到列出所有内容的spring文档.从他们的指南来看,它似乎非常灵活,我不知道我可以返回什么或者我可以在方法参数中使用什么.
我的应用程序中有一个base64编码的JPG,我想在控制器中将该图像渲染为JPG.
我正在开发一个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)