3

私のコントローラーでは、次のコードを使用してリダイレクトが行われます。

セッションコントローラー

def create
  render js: "window.location.pathname = #{home_path.to_json}"
end

しかし、カピバラを実行すると、送信後に home_page に到達しませんlogin

describe "Login Test", :js => true do
  before do
    @user = FactoryGirl.create(:user)
  end
  it 'should show the users first name' do
    visit login_path
    fill_in 'email', with: @user.email
    fill_in 'password', with: @user.password
    click_button "Log In"
    save_and_open_page
    assert page.has_content? @user.first_name
  end
end

launchy gemを追加して実行してトラブルシューティングを行うsave_and_open_pageと、次のテキストを含むページが表示されます。 window.location.pathname = "/"

カピバラは私に次のエラーを与えます: Capybara::ElementNotFound: Unable to find xpath "/html"

カピバラはログインボタンから先に進まないようです。

4

1 に答える 1

0

これを試しましたか?

respond_to do |format|
  format.js { render :js => 'window.location.href = "#{home_path.to_json}"' }
end
于 2013-03-08T01:15:39.323 に答える