Ошибка rspec с user_path (@user) - PullRequest
       0

Ошибка rspec с user_path (@user)

2 голосов
/ 12 ноября 2011

У меня есть этот тест:

require 'spec_helper'

describe "LayoutLinks" do
  I18n.available_locales.each do |locale|
    I18n.locale = locale
    .
    .

    describe "when signed in" do
      before(:each) do
        @user = Factory(:user)
        visit signin_path
        fill_in :email,    :with => @user.email
        fill_in :password, :with => @user.password
        click_button
        visit root_path
      end

      .
      .
      .
      it "should have a profile link" do
        response.should have_selector('a', :href => "/#{I18n.locale}#{user_path(@user)}", :content => I18n.t(:link_profile))
      end
    end
  end
end

Я работаю с выбором языка в URL.Как / en / ... или /de/...

Этот тест получает эту ошибку Сообщение:

No route matches {:action=>"show", :controller=>"users", :locale=>#<the complete User Hash>

Я предполагаю из сообщения об ошибке, что полный пользовательский хэш введен вчасть локали URL, как это делается или как я могу предотвратить это?

€ Изменить Я нашел решение:

Мне пришлось передать переменную локали в user_path(@user) втаким образом:

response.should have_selector('a', :href => user_path(I18n.locale, @user), :content => I1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...