gpt4 book ai didi

ruby-on-rails - 使用 get 和 delete 运行 Rspec 测试时获取错误数量的参数(2 个为 0)

转载 作者:数据小太阳 更新时间:2023-10-29 06:47:52 25 4
gpt4 key购买 nike

这应该是一个简单的问题,就是找不到导致测试失败的原因。运行 rspec 时,我不断收到以下错误。但是在评论“发送”方法之后,一切正常。

  1) Messages GET /messages works! (now write some real specs)
Failure/Error: get target_app_messages_path(@message.target_app.id)
ArgumentError:
wrong number of arguments (2 for 0)
# ./app/controllers/messages_controller.rb:37:in `send'

路线.rb

resources :target_apps do 
resources :messages do
member do
post 'send'
end
end
end

模型代码

class Message
include Mongoid::Document
belongs_to :target_app
end

Controller 代码

class MessagesController < ApplicationController
def index
...
end
def show
...
end

...

def send
...
end
end

/spec/requests/message_spec.rb

describe "Messages" do
describe "GET /messages" do

let(:message) do
FactoryGirl.create(:message)
end

it "works! (now write some real specs)" do
# Run the generator again with the --webrat flag if you want to use webrat methods/matchers
get target_app_messages_path(message.target_app.id)
response.status.should be(200)
end
end

最佳答案

Ruby 中的每个对象都有一个发送方法:

http://ruby-doc.org/core-1.9.3/Object.html

将您的操作命名为“发送”会导致名称冲突。尝试将该操作重命名为“发送消息”或以不同的方式定义它。应该有一种方法可以将 URL 中的“发送”映射到名为“sendmessage”的操作。

关于ruby-on-rails - 使用 get 和 delete 运行 Rspec 测试时获取错误数量的参数(2 个为 0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8550078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com