0

Rails 3.1.12 アプリでこのルートを設定しています。

  get '/compte/activer/:username/:token' => 'create_user#activate', :as => :create_user_activate

リクエストの仕様は次のとおりです。

describe "#activate with valid token" do
  it "activates the account" do    
    user = User.create_basic("conradk", "email@email.com", "Conrad K.", "password", "password", "Hello world!")

    visit create_user_activate_path(:username => user.username, :token => user.activation_token)

    page.should have_content(I18n.t('activerecord.success.messages.account_activated'))
  end
end

コントローラーは次のとおりです。

class CreateUserController < ApplicationController
  def activate username, token

  end
end

仕様を実行すると、次のエラーが表示されます。

Failure/Error: visit create_user_activate_path(:username => user.username, :token => user.activation_token)
     ArgumentError:
       wrong number of arguments (0 for 2)

私は何を間違えましたか?

4

2 に答える 2

2

これを試して

class CreateUserController < ApplicationController
  def activate

  end
end
于 2013-03-13T18:27:35.367 に答える
2

コントローラーメソッドは次のように定義する必要があります。

class CreateUserController < ApplicationController
  def activate
    #params will have your username and token
    user_name = params[:username]
    token = params[:token]
  end
end
于 2013-03-13T18:35:26.120 に答える