Esto debería ser simple, pero simplemente no pudo descubrir por qué causó la falla en la prueba. Recibí el siguiente error al ejecutar rspec. Pero después de comentar el método "enviar", todo funciona bien.Obtenga el número incorrecto de argumentos (2 para 0) cuando ejecute la prueba Rspec usando get y elimine
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'
routes.rb
resources :target_apps do
resources :messages do
member do
post 'send'
end
end
end
Código Modelo
class Message
include Mongoid::Document
belongs_to :target_app
end
Código controlador
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
Gracias, David. Cambiar la acción a otro nombre funciona. – CCK
Otro nombre de acción para evitar es 'proceso'. – Mika