ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 11 Mai 2013, 22:33 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
Moin Leute!

Ich habe folgenden Spec:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# spec/features/session_spec.rb
require 'spec_helper'

describe 'User sessions' do
it 'opens the sign in modal when JavaScript is active', js: true do
visit root_path

expect(page).not_to have_content('Username')
expect(page).not_to have_content('Password')

click_link "Sign In"

expect(page).to have_content('Email')
expect(page).to have_content('Password')
expect(page.current_path).to eq root_path
end
end


Das ist bisher das erste mal, dass ich mit JavaScript teste, und nun passiert wenn ich rspec laufen lasse folgendes:



1
2
3
4
User sessions opens the sign in modal when JavaScript is active
Failure/Error: Unable to find matching line from backtrace
ActionController::RoutingError:
No route matches [GET] "/assets/images/ui-bg_highlight-soft_25_ffef8f_1x100.png"


Diese Meldung bekomme ich für jeden spec der danach läuft.

Wie bekomme ich es hin, dass es richtig läuft?

Falls es hilft ist der komplette Source noch mal auf https://github.com/NobbZ/Mountains/tree/feature/userlogin zu finden.

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 13 Mai 2013, 09:51 
Offline
Interpreter

Registriert: 10 Dez 2007, 17:37
Beiträge: 1906
In deinen sourcen habe ich nirgends das image finden können.

_________________
Grüße
Jack


Nach oben
 Profil  
 
BeitragVerfasst: 13 Mai 2013, 14:42 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
https://github.com/NobbZ/Mountains/blob/feature/userlogin/vendor/assets/stylesheets/jqui/images/ui-bg_highlight-soft_25_ffef8f_1x100.png

Da isses…

Und wie gesagt, die Tests laufen erwartungsgemäß durch (Fail oder Success, je nachdem wie ich es momentan erwarte :)), nur sobald der eine spec mit "js: true" dran ist, failt der mit oben genannter Fehlermeldung und jeder weitere ebenfalls. Und dann failen auch jene, die bei anderer Reihenfolge eben nicht failen würden.

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 13 Mai 2013, 15:06 
Offline
Interpreter

Registriert: 10 Dez 2007, 17:37
Beiträge: 1906
Da ist es eben nicht:

/assets/images/ui-bg_highlight-soft_25_ffef8f_1x100.png != /assets/stylesheets/jqui/images/ui-bg_highlight-soft_25_ffef8f_1x100.png

Es sei denn du machst etwas Magie mit den asset-Path's.

Klar das es nur im Browser nicht gefunden wird, denn nur der Browser läd images nach.

_________________
Grüße
Jack


Nach oben
 Profil  
 
BeitragVerfasst: 13 Mai 2013, 15:23 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
1.) Es funktioniert aber wenn ich im Browser aufrufe…


1
2
Started GET "/assets/jqui/images/ui-bg_highlight-soft_25_ffef8f_1x100.png" for 127.0.0.1 at 2013-05-13 15:19:23 +0200
Served asset /jqui/images/ui-bg_highlight-soft_25_ffef8f_1x100.png - 304 Not Modified (129ms)

2.) Es funktioniert normalerweise bei allen Tests, eben mit der außnahme dass es nicht mehr funktioniert wenn zuvor der poltergeist Test gelaufen ist…
3.) In dem poltergeist Test wird aus irgendeinem Grund, den ich mir nicht erklären kann, auf einmal jqui/ im Path unterschlagen…

Aber warum?

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 13 Mai 2013, 22:01 
Offline
Interpreter

Registriert: 10 Dez 2007, 17:37
Beiträge: 1906
In der Test-Environment wird wie in Production eine application.css erstellt.

Dort ist auch deine jqui/jquery-ui-1.10.3.custom.css enthalten.
Die enstehenden urls sind dann nicht mehr relativ zu jqui/jquery-ui-1.10.3.custom.css
sondern relativ zu application.css.

Kannst du ganz leicht testen, starte die App einfach mal im production oder test env.

Und wie gesagt, wenn js: false ist, dann werden images und css nicht geladen und der Fehler kann nicht entdeckt werden.

_________________
Grüße
Jack


Nach oben
 Profil  
 
BeitragVerfasst: 14 Mai 2013, 08:25 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
Hab den Kram jetzt eine Verzeichnissebene nach oben geschoben, jetzt funktioniert es alles.

Aber natürlich geht jetzt ein wenig die Ordnung flöten. Im Moment ist das nicht weiter schlimm, jQuery und jQuery-UI sind die einzigen Dinge die ich momentan im Vendor habe, aber was wenn es mehr werden?

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 14 Mai 2013, 09:45 
Offline
Interpreter

Registriert: 10 Dez 2007, 17:37
Beiträge: 1906
Du hast mehrere Möglichkeiten:
  • Du must deine jquery-ui-1.10.3.custom.css nicht in der application.css requiren.
    Dann musst du wieder per hand einen stylesheet-link dafür erzeugen. Die relativen Pfade stimmen dann wieder.
  • Du kannst ein gem bauen für jquery-ui-1.10.3.custom.css mit einer Rails-Engine. Schau die dafür einfach das Rails-jQuery gem an.
  • Du kannst das Stylesheet anpassen, besser gesagt die Pfade darin.
  • Oder du benutzt einfach jQuery und jQuery-Ui wie
    es schon bei Rails im jquery-rails gem mit geliefert wird.

_________________
Grüße
Jack


Nach oben
 Profil  
 
BeitragVerfasst: 14 Mai 2013, 14:57 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
Die Rails Variante wollte ich nicht nehmen, da ich im Laufe des gesammten Entwicklungsprozesses vorhabe auch ein Gem zu entwickeln, bei dem ich Jquery UI per Asset-Pipeline stylen kann.

Also im Prinzip die Eckdaten in application.css.(scss|sass) per Variable einstellen, genau die Möglichkeiten die man auch im Themeroller hat.

Oder gibt es soetwas schon und ich habe das nur übersehen?

Eben weil ich mit den Rails beiligenden Versionen nicht vernünftig themen kann, habe ich eben direkt von der jQuery HP mir ein Custom erstellt.

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 14 Mai 2013, 15:45 
Offline
Interpreter

Registriert: 10 Dez 2007, 17:37
Beiträge: 1906
Maybe this https://github.com/fatdude/jquery-ui-themes-rails

_________________
Grüße
Jack


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
cron