[ruby on rails] wie gebruikt het?

Pagina: 1 2 3 4 5 Laatste
Acties:
  • 9.087 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 10-04-2024

Scharnout

Meuk

G33rt schreef op zaterdag 11 november 2006 @ 14:20:
• Beide controllers heten nu 'photos' maar doen iets wezenlijk anders en daar wil je dan ook rechten aan toekennen. Hoe maak ik onderscheid tussen beide?
Ik weet wel hoe je onderscheid kan maken. Voor je controller photos kan je admin zetten, dus
code:
1
class admin::photos

ipv
code:
1
class photos

En dan kan je er andere controller van maken.
Je kan ze ook maken door:
code:
1
script/generate admin/photos

Of bedoel je dat niet?

And Bob's your uncle ...


Acties:
  • 0 Henk 'm!

  • G33rt
  • Registratie: Februari 2002
  • Laatst online: 22-06-2022
Nope, dat bedoel ik niet. Die twee controllers heb ik en werken beide. Wat ik wil, is mensen permissies geven op controller/action-basis. Dat wil zeggen, dat iemand toegang krijgt tot photos/view ofzo. Maar ik moet ook iemand toegang kunnen geven tot admin/photos/edit_album, admin/photos/add_album.

Nare is dus, dat de naam van de controller 'photos' in de admin-module hetzelfde is als op de normale site: nu kan ik checken of iemand het recht op @params['controller']/@params['action'] heeft maar dat is in beide gevallen hetzelfde (begint namelijk altijd met 'photos', terwijl ik graag rechten op 'photos/mijnactie' en 'admin/photos/mijnactie' wil toekennen wat dus niet gaat). Ergo: hoe zorg ik dat ik aan de hand van de controller kan detecteren of deze een onderdeel is van een module? Dan kan ik immers een recht aan admin/photos/edit_album hangen ipv photos/edit_album.

[ Voor 9% gewijzigd door G33rt op 11-11-2006 21:17 ]


Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
G33rt schreef op zaterdag 11 november 2006 @ 21:13:
Nope, dat bedoel ik niet. Die twee controllers heb ik en werken beide. Wat ik wil, is mensen permissies geven op controller/action-basis. Dat wil zeggen, dat iemand toegang krijgt tot photos/view ofzo. Maar ik moet ook iemand toegang kunnen geven tot admin/photos/edit_album, admin/photos/add_album.

Nare is dus, dat de naam van de controller 'photos' in de admin-module hetzelfde is als op de normale site: nu kan ik checken of iemand het recht op @params['controller']/@params['action'] heeft maar dat is in beide gevallen hetzelfde. Ergo: hoe zorg ik dat ik aan de hand van de controller kan detecteren of deze een onderdeel is van een module? Dan kan ik immers een recht aan admin/photos/edit_album hangen ipv photos/edit_album.
Je kunt een controller ook een andere controller laten implementeren om ze dezelfde eigenschappen te geven:

code:
1
class admin::photo_controller < admin::application_controller


Op deze manier voeg ik altijd voor de hele admin een nieuwe layout + extra rechten toe via een before_filter.

Acties:
  • 0 Henk 'm!

  • G33rt
  • Registratie: Februari 2002
  • Laatst online: 22-06-2022
Zou je dat nader willen uitleggen? Ik zie even niet waarom ik nu ineens een recht aan de string 'admin/photos/edit_album' bijvoorbeeld kan hangen. Dat de eigenschappen hetzelfde moeten worden gaat het me niet zozeer om, maar meer dat ik een manier heb om, aan de hand van de huidige actie die een user uitvoert een string kan bouwen waarvan gekeken kan worden of de user het recht heeft.

Dwz: surft een user naar /admin/photos/edit_album dan is het dus de bedoeling dat deze gebruiker een role heeft die toegang geeft tot /admin/photos/edit_album. Alleen het moduliseren van controllers uit zich niet in de namen van de controllers (dat is juist het handige in gebruik), waardoor ik dus ineens zou gaan checken of iemand toegang heeft tot '/photos/edit_album' wat niet de bedoeling is. In jouw geval levert het toch slechts losstaande logica voor de admin op?

Misschien dat ik je verkeerd begrijp, heb je eventueel een linkje naar een voorbeeld wat je precies doet met "op deze manier voeg ik altijd voor de hele admin een nieuwe layout + extra rechten toe via een before_filter."?

[ Voor 11% gewijzigd door G33rt op 11-11-2006 21:24 ]


Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
G33rt schreef op zaterdag 11 november 2006 @ 21:22:
Zou je dat nader willen uitleggen? Ik zie even niet waarom ik nu ineens een recht aan de string 'admin/photos/edit_album' bijvoorbeeld kan hangen. Dat de eigenschappen hetzelfde moeten worden gaat het me niet zozeer om, maar meer dat ik een manier heb om, aan de hand van de huidige actie die een user uitvoert een string kan bouwen waarvan gekeken kan worden of de user het recht heeft.

Dwz: surft een user naar /admin/photos/edit_album dan is het dus de bedoeling dat deze gebruiker een role heeft die toegang geeft tot /admin/photos/edit_album. Alleen het moduliseren van controllers uit zich niet in de namen van de controllers (dat is juist het handige in gebruik), waardoor ik dus ineens zou gaan checken of iemand toegang heeft tot '/photos/edit_album' wat niet de bedoeling is. In jouw geval levert het toch slechts losstaande logica voor de admin op?

Misschien dat ik je verkeerd begrijp, heb je eventueel een linkje naar een voorbeeld wat je precies doet met "op deze manier voeg ik altijd voor de hele admin een nieuwe layout + extra rechten toe via een before_filter."?
Als jij op basis van een string wilt bepalen of iemand een recht heeft, kan je de methode ActionController::Base::controller_path() gebruiken om zowel de module als de controller name uit te lezen.

Mijn opzet zal er ongeveer zo uit zien:

Ruby:
1
2
3
4
5
6
7
8
9
10
class admin::application_controller < application_controller
    layout 'hier/je/admin_layout'

    before_filter :require_admin_authentication

    def require_admin_authentication
        # Controleer hier of iemand admin rechten heeft
        session[:user].is_allowed?('admin/'+controller_name, action_name)
    end
end


Op deze manier voeg je een extra controle toe aan elke klasse die admin::application_controller extend. In dit geval dus een controle op een bepaald recht om iets te doen. Je kunt hier heel simpel bij je controle aangeven dat het om een admin controller gaat in plaats van om een frontend controller. (Maar met de controller_path kan je zoiets generiek oplossen voor al je controllers)

Acties:
  • 0 Henk 'm!

  • G33rt
  • Registratie: Februari 2002
  • Laatst online: 22-06-2022
Geweldig, de functie controller_path() was dus inderdaad hetgeen ik zocht! Bedankt :)

[ Voor 2% gewijzigd door G33rt op 12-11-2006 14:13 . Reden: typo ]


Acties:
  • 0 Henk 'm!

  • Neobender
  • Registratie: November 2001
  • Laatst online: 20-02 13:44
Inmiddels heb ik het doormiddel van Locomotive (en MAMP) onder OSX aan de praat gekregen en ik ben tot nu toe zeer te spreken over de workflow. Zeker icm Textmate (heerlijke editor voor OSX).

Hoewel ik zelf eigenlijk een designer ben, vind ik ook erg belangrijk dat ik ook kan programmeren in een taal, php vind ik te abstract en ruby spreekt me juist wel aan door het gebruik van 'gewoon' engels. Maar persoonlijk leer ik meer uit ene boek dan van internet (de basis hè), dus weet iemand nog een aanrader wat boeken betreft?

Acties:
  • 0 Henk 'm!

  • messi
  • Registratie: Oktober 2001
  • Laatst online: 12-09 09:41
Hét boek voor Rails is "Agile web development with rails" waarin je een webshop gaat bouwen en ondertussen wordt goed uitgelegd hoe alles werkt en waarom je sommige dingen wel of niet moet doen.

Onze excuses voor het ontbreken van de ondertiteling.


Acties:
  • 0 Henk 'm!

Verwijderd

Ben nu bezig aan een project voor univ, en moet zeggen dat RoR me redelijk tegenvalt.
Enkele nadelen die ik tot nu toe ben tegengekomen:
* traag (zelfs met apache/fastcgi)
* erg zwakke documentatie
* onduidelijke foutmeldingen (ligt aan ruby denk ik dan)
* het "ActiveRecord + scaffold" principe lijkt handig in het begin, maar uiteindelijk is het enkel geschikt voor de simpelste applicaties/database structuren
* API is verre van stabiel (ben al veel dingen tegengekomen in een boek van 1 jaar oud, die nu niet meer werken of op z'n minst deprecated zijn)

[ Voor 16% gewijzigd door Verwijderd op 27-11-2006 14:33 ]


Acties:
  • 0 Henk 'm!

  • Vlugge Japie
  • Registratie: Juli 2003
  • Laatst online: 10-05-2023
Ik heb zojuist het boek 'Beginning Ruby on Rails' van Steve Holzner, gekocht. (bol.com) De filmpjes en voorbeelden die ik heb gezien van RoR hebben me erg nieuwsgierig gemaakt. Ik heb net als Neobender ook via Locomotive (icm MAMP) RoR geinstalleerd, maar krijg het nog niet helemaal werkend, vanwege tijdgebrek.
Je kan in ieder geval wel merken dat RoR steeds meer in the picture begint te komen, er komen de laatste tijd erg veel nieuwe boeken uit over Ruby.

[ Voor 11% gewijzigd door Vlugge Japie op 29-11-2006 21:17 . Reden: verkeerde link ]


Verwijderd

Ik heb nu wat RoR code gezien. Maar als ik eerlijk ben vind ik het nogal onoverzichtelijk, natuurlijk mag ik er eigelijk niet over praten tot ik het zelf code. Daarom vraag ik het maar.

Is het niet "moeilijk" om van PHP naar RoR over te stappen? PHP ziet er namelijk imo veel overzichtelijker uit.

  • it0
  • Registratie: April 2000
  • Laatst online: 16-08 10:24

it0

Mijn mening is een feit.

Het enigste wat moeilijk is de andere manier van denken en dingen doen.
Voordien werkte ik alleen met perl op een nette manier, koste mij ook moeite om over te stappen .

Maar ik zie er ook zeker de voordelen van in.

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
Verwijderd schreef op donderdag 30 november 2006 @ 11:58:
Ik heb nu wat RoR code gezien. Maar als ik eerlijk ben vind ik het nogal onoverzichtelijk, natuurlijk mag ik er eigelijk niet over praten tot ik het zelf code. Daarom vraag ik het maar.

Is het niet "moeilijk" om van PHP naar RoR over te stappen? PHP ziet er namelijk imo veel overzichtelijker uit.
Je kunt het zo overzichtelijk maken als je zelf wilt. Dat haakjes bij argumenten niet nodig zijn, betekend niet dat je ze niet hoeft te gebruiken. Verder dwingt Ruby on Rails je juist om overzichtelijke applicaties te maken, terwijl bij PHP dat volledig je eigen verantwoordelijkheid is.

Verder is de taal veel logischer en overzichtelijker dan PHP. Kijk alleen al naar de string functies van PHP: er is geen duidelijke structuur in de benaming te vinden. In Ruby zit het in een class en heeft elke functie een logische naam.

Als je geen ervaring met bijvoorbeeld Java hebt, is de overstap vanaf PHP waarschijnlijk moeilijker dan wanneer je ervaring hebt met een volledige object georiënteerde taal. Maar het is zeker het proberen waard!

  • Stephan11117
  • Registratie: Mei 2004
  • Laatst online: 10-09 14:30
Kick!

Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Pfft :/, gister weer geprobeerd mijn website aan de praat te krijgen. RoR werkt geweldig op je eigen 'bak', zeg maar, maar wanneer je het online wilt zetten gaat het een stuk moeilijker.

Mijn probleem was dat ik eigenlijk geen console toegang had (ik zit bij JROnline). Daardoor kun je zelf niet bepalen in welke mode je komt (hij zit standaard in Production), en als gevolg daarvan kun je heel moeilijk problemen oplossen.

Ik heb het min of meer tijdelijk opgelost door gewoon alle instellingen in config/environments/development.rb om te keren (cache-classes = false enzo), maar da's meer een tijdelijke oplossing. Daarnaast cachet hij nog gewoon de configs, dus als je daarin iets wilt veranderen... juist.

Eeerste ervaring was onverklaarbare 500 errors (internal server error), komt niks in de logs, etc. Uiteindelijk moest ik de hele applicatie stukje voor stukje er weer op zetten, trial-en-error ontwikkelen op de productiebak.

RoR is snel, maar niet als het zo moet :/

Gister het hele user login gebeuren geprobeerd weer aan de praat te krijgen. (maak gebruik van de salted_login_generator, ofzo). Het probleem hiervan is dat deze min of meer afhankelijk is van de Localization gem, volgens mij een library voor het internationaliseren van een website. Echter, deze staat niet geinstalleerd op de server, kan ik ook zo niet installeren.

Ik kan hem volgens mij wel in de Vendor map zetten, heb ik gister niet aan gedacht >.<.

Maar dan nog steeds. Ik vind het irritant, ik ga mijn contract daar denk ik ook niet verlengen, als je zelf geen controle hebt over in welke mode je je RoR-applicatie draait.

Acties:
  • 0 Henk 'm!

  • CamU
  • Registratie: Mei 2003
  • Laatst online: 11-09 06:54
Wij hebben voor de nieuwe website van onze vereniging door de ontwikkelaar gebruik laten maken van een RoR oplossing. Op dit moment draait deze oplossing bij textdrive aan de andere kant van de oceaan. Omdat dit op een account van de ontwikkelaar is en wij over willen stappen naar een NL hoster met NL support (na oplevering van het project willen we voor snel serveronderhoud of vragen wel in NL terecht kunnen, daarnaast is het waarschijnlijk iets sneller dan alle data uit de VS laten overkomen). Mijn vraag aan jullie, zeker ook n.a.v. de post van YopY: bij welke hoster hebben jullie enige goede ervaringen met het hosten van jullie RoR site. Is de support van de hoster ook goed genoeg, krijg je er shell access bij of in ieder geval die mogelijkheid, dat soort zaken. In principe is de eis aan het pakket niet al te groot (dataverkeer wss geen issue, 1 mysql database, rond de 350-500 MB webspace, en natuurlijk ondersteuning voor RoR. We merken nu echter wel dat het project zoals het is opgezet vrij veeleisend is van de webserver, en krijgen constant mailtjes met daarin een bericht van de volgende strekking:

code:
1
2
3
4
5
6
7
8
9
10
11
12
A ActionView::TemplateError occurred in people#login:

  Mysql::Error: MySQL client ran out of memory: SELECT * FROM globalize_translations WHERE (tr_key = 'ik ben mijn wachtwoord vergeten' AND language_id = 4628 AND pluralization_index = 1) AND ( (globalize_translations.`type` = 'ViewTranslation' ) )  LIMIT 1
  On line #8 of app/views/people/login.rhtml

    5:         <%= f.text_field :email %>
    6:         <%= f.password_field :password %>
    7:     <% end %>
    8:     <%= continue_or_reset_tag 'Inloggen...'.t %>
    9: <% end %>
    10: 
    11: <% base_language_only do %>


Een "lek" in de achterliggende code veroorzaakt een qua geheugen vollopende mysql client die de websiter er doet uitknallen. Dit probleem zijn we op dit moment aan het oplossen met de ontwikkelaar, maar mijn vraag is dus hoe jullie ervaringen zijn met hosters in NL en hun RoR support. Een studie van de mogelijke hosters (en het doorlezen van dit topic) brengt me in ieder geval bij de volgende mogelijkheden:

Superior
Prioserver
JRonline (na het lezen van bovenstaande post misschien niet zo'n succes?)
CJ2Hosting
ServerNation
Byte (nog steeds stopgezet toch?)
Rackhost (België)

Zijn er nog NL-talige hosts die ik over het hoofd zie en hebben jullie een idee hoet het met de support van deze hosters gesteld is?

* Workstation * / * Server * / * Laptop * / Monica: My motto is: "get out before they go down". Joey: "That is so not my mott


Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
CamU schreef op woensdag 20 december 2006 @ 00:40:
Wij hebben voor de nieuwe website van onze vereniging door de ontwikkelaar gebruik laten maken van een RoR oplossing. Op dit moment draait deze oplossing bij textdrive aan de andere kant van de oceaan. Omdat dit op een account van de ontwikkelaar is en wij over willen stappen naar een NL hoster met NL support (na oplevering van het project willen we voor snel serveronderhoud of vragen wel in NL terecht kunnen, daarnaast is het waarschijnlijk iets sneller dan alle data uit de VS laten overkomen). Mijn vraag aan jullie, zeker ook n.a.v. de post van YopY: bij welke hoster hebben jullie enige goede ervaringen met het hosten van jullie RoR site. Is de support van de hoster ook goed genoeg, krijg je er shell access bij of in ieder geval die mogelijkheid, dat soort zaken. In principe is de eis aan het pakket niet al te groot (dataverkeer wss geen issue, 1 mysql database, rond de 350-500 MB webspace, en natuurlijk ondersteuning voor RoR. We merken nu echter wel dat het project zoals het is opgezet vrij veeleisend is van de webserver, en krijgen constant mailtjes met daarin een bericht van de volgende strekking:

code:
1
2
3
4
5
6
7
8
9
10
11
12
A ActionView::TemplateError occurred in people#login:

  Mysql::Error: MySQL client ran out of memory: SELECT * FROM globalize_translations WHERE (tr_key = 'ik ben mijn wachtwoord vergeten' AND language_id = 4628 AND pluralization_index = 1) AND ( (globalize_translations.`type` = 'ViewTranslation' ) )  LIMIT 1
  On line #8 of app/views/people/login.rhtml

    5:         <%= f.text_field :email %>
    6:         <%= f.password_field :password %>
    7:     <% end %>
    8:     <%= continue_or_reset_tag 'Inloggen...'.t %>
    9: <% end %>
    10: 
    11: <% base_language_only do %>


Een "lek" in de achterliggende code veroorzaakt een qua geheugen vollopende mysql client die de websiter er doet uitknallen. Dit probleem zijn we op dit moment aan het oplossen met de ontwikkelaar, maar mijn vraag is dus hoe jullie ervaringen zijn met hosters in NL en hun RoR support. Een studie van de mogelijke hosters (en het doorlezen van dit topic) brengt me in ieder geval bij de volgende mogelijkheden:

Superior
Prioserver
JRonline (na het lezen van bovenstaande post misschien niet zo'n succes?)
CJ2Hosting
ServerNation
Byte (nog steeds stopgezet toch?)
Rackhost (België)

Zijn er nog NL-talige hosts die ik over het hoofd zie en hebben jullie een idee hoet het met de support van deze hosters gesteld is?
Allereerst even een korte opmerking over de foutmelding die je krijgt. Het lijkt me zeer inefficiënt om vertalingen van strings voor je applicatie in een MySQL tabel op te slaan. Dit betekend dat je voor elke zin die je op het scherm wilt plaatsen een SQL query nodig heeft. Ik vind het niet raar dat MySQL dat iets teveel wordt soms. Zelf sla ik deze dingen gewoon op in een ruby bestand via een bepaald formaat. Maar ik ken de opbouw van jullie applicatie niet, dus kan ik niet oordelen of dat ook werkzaam zou zijn voor jullie.

Betreft de hosting denk ik dat je een redelijke lijst met hosters hebt op deze manier. Ik heb geen ervaring met de hosters behalve JROnline, maar bij JROnline heb ik weer geen ervaring met Shared Rails Hosting.

Het grote probleem van Shared Rails Hosting is de eisen die Rails stelt. In de meeste gevallen zal je werken via een fcgi module. De DirectAdmin plugin die JROnline biedt laat jou perfect een Rails applicatie installeren binnen de mappen structuur van een DA user. Ik draai deze plugin zelf ook, maar bij mij worden de applicatie standaard in het development environment gestart. Ik kan me niet voorstellen dat de plugin een bepaald environment gaat afdwingen, of ze bij JROnline hier wijzigingen in gemaakt hebben durf ik zo niet te zeggen.

Zodra je echter development taken wilt gaan doen op de server, loop je tegen problemen aan. Het grootste probleem is het herladen van configuratie bestanden. Hiervoor moet je namelijk de Apache server opnieuw opstarten. Iets wat je in een Shared Hosting omgeving natuurlijk niet zo snel doet. Verder is het handig om shell access te hebben om bijvoorbeeld de console te gebruiken of de logs te tailen. Het is logisch dat hosters in Shared Hosting omgevingen niet altijd bereid zijn hun users shell access te geven.

Een kleine check wijst uit dat Prioserve en Rackhost ook gebruik maken van DirectAdmin en de kans dus groot is dat ze dat met de bovengenoemde plugin doen. De rest van de partijen bieden Ruby ook aan binnen een Shared Hosting omgeving, daar zal je dus tegen dezelfde problemen aan lopen als ik hier boven beschrijf.

Mijn advies:
  • Als je echt graag Shared hosting wilt, ga dan op zoek naar een hoster die jou wel shell access wil geven, want dat maakt het werken met en installeren van Rails applicaties net een stukje makkelijker.
  • Als je meer kennis in huis hebt mbt het installeren van servers (of daar iemand voor hebt), kies dan een (virtuele) dedicated server waar je op kunt zetten wat je wilt. Gezien de prijzen van bijvoorbeeld JROnline voor een VDS ben je dan helemaal niet zoveel duurder uit, maar je kunt wel de ideale Rails omgeving creëren.

Acties:
  • 0 Henk 'm!

  • CamU
  • Registratie: Mei 2003
  • Laatst online: 11-09 06:54
Flydesign.nl schreef op woensdag 20 december 2006 @ 13:25:
[...]
Allereerst even een korte opmerking over de foutmelding die je krijgt. Het lijkt me zeer inefficiënt om vertalingen van strings voor je applicatie in een MySQL tabel op te slaan. Dit betekend dat je voor elke zin die je op het scherm wilt plaatsen een SQL query nodig heeft. Ik vind het niet raar dat MySQL dat iets teveel wordt soms. Zelf sla ik deze dingen gewoon op in een ruby bestand via een bepaald formaat. Maar ik ken de opbouw van jullie applicatie niet, dus kan ik niet oordelen of dat ook werkzaam zou zijn voor jullie.
Ik merk er nu alles van. Het bouwen van deze website is uitbesteed aan een bedrijf, ik heb zelf geen programmeer kennis op dit gebied, maar ben op dit moment belast met het zoeken naar een geschikte hoster (vanuit de vereniging waar deze website voor is geschreven). Over de achterliggende structuur weet ik vrijwel niets, alleen wat de eisen zijn waar een hostingaccount aan moet voldoen.
...Zodra je echter development taken wilt gaan doen op de server, loop je tegen problemen aan. Het grootste probleem is het herladen van configuratie bestanden. Hiervoor moet je namelijk de Apache server opnieuw opstarten. Iets wat je in een Shared Hosting omgeving natuurlijk niet zo snel doet. Verder is het handig om shell access te hebben om bijvoorbeeld de console te gebruiken of de logs te tailen. Het is logisch dat hosters in Shared Hosting omgevingen niet altijd bereid zijn hun users shell access te geven.
...
Mijn advies:
  • Als je echt graag Shared hosting wilt, ga dan op zoek naar een hoster die jou wel shell access wil geven, want dat maakt het werken met en installeren van Rails applicaties net een stukje makkelijker.
  • Als je meer kennis in huis hebt mbt het installeren van servers (of daar iemand voor hebt), kies dan een (virtuele) dedicated server waar je op kunt zetten wat je wilt. Gezien de prijzen van bijvoorbeeld JROnline voor een VDS ben je dan helemaal niet zoveel duurder uit, maar je kunt wel de ideale Rails omgeving creëren.
Bedankt voor je advies. Ik denk dat de eerste optie uiteindelijk de meest realistische voor ons gaat zijn. Mag ik vragen hoe jullie je ruby applicaties ontwikkelen? Hebben jullie zelf een server opgezet als testomgeving of testen jullie bij een shared hoster?

* Workstation * / * Server * / * Laptop * / Monica: My motto is: "get out before they go down". Joey: "That is so not my mott


Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
CamU schreef op woensdag 20 december 2006 @ 17:21:

[...]

Bedankt voor je advies. Ik denk dat de eerste optie uiteindelijk de meest realistische voor ons gaat zijn. Mag ik vragen hoe jullie je ruby applicaties ontwikkelen? Hebben jullie zelf een server opgezet als testomgeving of testen jullie bij een shared hoster?
Ik heb een eigen dedicated server staan. De ontwikkeling van een applicatie gaat voor het grootste gedeelte op een lokale computer, iets wat met Rails prima werkt. Tijdens de installatie van een applicatie loop ik er soms toch tegen aan dat ik heftig gebruik maak van de shell toegang op de server en regelmatig even Apache moet restarten. Iets wat in een gedeelde hosting omgeving vaak een probleem zal zijn. Zodra het natuurlijk eenmaal draait zal een shared hosting omgeving prima voldoen.

Acties:
  • 0 Henk 'm!

  • Stephan11117
  • Registratie: Mei 2004
  • Laatst online: 10-09 14:30
Er is een weenie aangemaakt over Rails hosting op Holland on Rails! Wellicht met info die je nog niet hebt.

Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Ik ben weer een klein stukje verder gekomen met het aan de praat krijgen van mijn website, maar inderdaad, het cachen van bepaalde klassen is toch het grootste probleem.

Eerst liep ik tegen het probleem aan dat de configuratie voor de db gecached word, dus als je een verkeerd wachtwoord hebt, moet je het hele project weer opnieuw aanmaken.

(wat, trouwens, door een van de support mensen van JROnline mij werd aanbevolen. Met andere woorden, maak je een foutje? Ach, maak de zaak maar weer opnieuw)

Mijn oplossing daarvoor: Een call maken naar de Connect functie van Rails::ActiveRecord bovenaan elke Model class. Dit lost het probleem op van de DB config, ook al is het een wat lelijke oplossing.

Ik heb het idee dat de server om de zoveel tijd wel eens opnieuw gestart word, dus dan is het config bestand opnieuw ingeladen.

Het eerder genoemde probleem met de Localization plugin is ook opgelost. Het probleem was dat ik de Lib-map niet geupload had.

Nu zeg je natuurlijk 'Dan doe je alles in een keer goed en zet je de hele zaak in een keer op de webserver', maar dan krijg ik het probleem dat je een melding krijgt dat 'The application failed to start properly', oftewel een 500-error.

Geen flauw idee waar die fout weg komt, dus ben ik bijna gedwongen om de hele applicatie stukje voor stukje te uploaden, te testen volgend stukje uploaden, testen, etcetera.

Argh.

Probleem wat ik op het moment nog last van heb is dat alles in de lib-map ook gecached word, en dat plus de config die niet geupdate word geeft mij nog steeds het probleem dat de app een constante niet kan vinden (met de config) en dus niet verder wil. Ik heb al zoveel mogelijk de aanroepen naar de config uitgecommentariseerd of veranderd naar eerst een aanroep naar de functie defined?, maarja, als je de bestanden in de lib-functie niet aan kunt passen vanwege dat cachen...

Bah. Als de server meewerkte was ik al veel verder dan dat ik nu ben. Ik heb de app zoals ik die nu heb in een paar uurtjes gemaakt, maar ben nu al drie keer zo lang (zo niet langer) bezig om het maar online werkend te krijen, en ik ben nog niet klaar.

RoR is een prachtig iets, zolang je server maar meewerkt.

Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
YopY schreef op zaterdag 23 december 2006 @ 12:47:
Ik ben weer een klein stukje verder gekomen met het aan de praat krijgen van mijn website, maar inderdaad, het cachen van bepaalde klassen is toch het grootste probleem.

Eerst liep ik tegen het probleem aan dat de configuratie voor de db gecached word, dus als je een verkeerd wachtwoord hebt, moet je het hele project weer opnieuw aanmaken.

(wat, trouwens, door een van de support mensen van JROnline mij werd aanbevolen. Met andere woorden, maak je een foutje? Ach, maak de zaak maar weer opnieuw)
In dat geval zou een herstart van Apache voldoende moeten zijn, maar zoals ik dat zei is zoiets op een Shared Hosting omgeving erg moeilijk.
Mijn oplossing daarvoor: Een call maken naar de Connect functie van Rails::ActiveRecord bovenaan elke Model class. Dit lost het probleem op van de DB config, ook al is het een wat lelijke oplossing.

Ik heb het idee dat de server om de zoveel tijd wel eens opnieuw gestart word, dus dan is het config bestand opnieuw ingeladen.

Het eerder genoemde probleem met de Localization plugin is ook opgelost. Het probleem was dat ik de Lib-map niet geupload had.

Nu zeg je natuurlijk 'Dan doe je alles in een keer goed en zet je de hele zaak in een keer op de webserver', maar dan krijg ik het probleem dat je een melding krijgt dat 'The application failed to start properly', oftewel een 500-error.
Precies, als jij ervoor zorgt dat het in één keer goed op de server staat, heb je ook geen problemen met caches en memory. Maar dat is natuurlijk bijna niet te doen.
De 500-error is waarschijnlijk een fout in je logboek bestand of je tmp map. Verwijder alle logboeken eens en maak de tmp map schrijfbaar, meestal is het probleem dan opgelost.
Geen flauw idee waar die fout weg komt, dus ben ik bijna gedwongen om de hele applicatie stukje voor stukje te uploaden, te testen volgend stukje uploaden, testen, etcetera.

Argh.
Informatie over deze foutmelding kan je op redelijk veel websites terugvinden. Daarnaast staat er volgens mij meer over de foutmelding in fastcgi.log of je error documents van Apache.
Probleem wat ik op het moment nog last van heb is dat alles in de lib-map ook gecached word, en dat plus de config die niet geupdate word geeft mij nog steeds het probleem dat de app een constante niet kan vinden (met de config) en dus niet verder wil. Ik heb al zoveel mogelijk de aanroepen naar de config uitgecommentariseerd of veranderd naar eerst een aanroep naar de functie defined?, maarja, als je de bestanden in de lib-functie niet aan kunt passen vanwege dat cachen...

Bah. Als de server meewerkte was ik al veel verder dan dat ik nu ben. Ik heb de app zoals ik die nu heb in een paar uurtjes gemaakt, maar ben nu al drie keer zo lang (zo niet langer) bezig om het maar online werkend te krijen, en ik ben nog niet klaar.

RoR is een prachtig iets, zolang je server maar meewerkt.
Om eerlijk te zijn heb ik het vermoeden dat jou Rails applicatie voor dat je ging uploaden naar JROnline ook al niet soepel werkte. Als je aanroepen naar constanten hebt die niet bestaan, maakt het absoluut niets uit of je dat lokaal test of op een externe server. Zorg ervoor dat je code goed werkt, dan is het enige dat fout kan gaan bij het live gaan op de server de dependencies die je app heeft, rechten van mappen en je configuratie bestanden. Dependencies kan je zoveel mogelijk oplossen door ze in je vendor map te mikken, rechten is een kwestie van testen (en daar zal je geen invloed van de cache ondervinden) en de configuratie bestanden is gewoon goed opletten :)

Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Daarnaast staat er volgens mij meer over de foutmelding in fastcgi.log of je error documents van Apache.
Dat dacht ik ook, maar niet dus. In het fcgi log staat niks, en in het Apache log stond alleen dat er een 500 error was voor mijn aanroep. Het Apache error log was verder leeg.
Om eerlijk te zijn heb ik het vermoeden dat jou Rails applicatie voor dat je ging uploaden naar JROnline ook al niet soepel werkte. Als je aanroepen naar constanten hebt die niet bestaan, maakt het absoluut niets uit of je dat lokaal test of op een externe server. Zorg ervoor dat je code goed werkt, dan is het enige dat fout kan gaan bij het live gaan op de server de dependencies die je app heeft, rechten van mappen en je configuratie bestanden. Dependencies kan je zoveel mogelijk oplossen door ze in je vendor map te mikken, rechten is een kwestie van testen (en daar zal je geen invloed van de cache ondervinden) en de configuratie bestanden is gewoon goed opletten :)
Het werkte perfect op mijn computer. De reden dat die constante niet bestond was omdat ik het config bestand van de user klasse niet geupload had, dus deze werd niet ingeladen. Deze error komt nu nog voor in het Localization lib-bestand, welke een config voor de Localization nodig heeft. Ik kwam er wat laat achter dat er ook nog iets in de lib-map stond, daarom :+.

Maar in ieder geval, ik zal dat geval met die tmp mappen e.d. nog eens uitproberen, dat zal waarschijnlijk al helpen. Als het werkt, wat ik wel hoop - alles stukje bij beetje uploaden en testen kost veel te veel tijd.

  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 20:25
Even een kort vraagje tussendoor, ik heb een simpele user-controller waarmee ik users kan aanmaken, bewerken en verwijderen.
Bij het aanmaken is een een password verplicht, die wordt gehasht en in de db gezet.
Bij het bewerken gaat het echter mis. Je moet dan een nieuwe wachtwoord invoeren, doe je dat niet krijg je de error dat het verplicht is (logisch), terwijl je soms gewoon geen nieuw wachtwoord wil opgeven en het oude behouden.
Dus hoe zorg ik dat als er geen wachtwoord opgegeven word die eigenschap gewoon overgeslagen word?
Even wat relevante code:

De update-functie uit de controller:
code:
1
2
3
4
5
6
7
8
9
def update
    @user = User.find(params[:id])
    if @user.update_attributes(params[:user])
       flash[:notice] = 'User was successfully updated.'
       redirect_to :action => 'show', :id => @user
    else
       render :action => 'edit'
    end
end


De relevante code uit m'n model (plain_password is het password zoals die uit de form-submit komt):
code:
1
2
3
4
5
6
7
8
9
10
11
12
attr_accessor :plain_password
attr_accessible :username, :plain_password
validates_uniqueness_of :username
validates_presence_of   :username, :plain_password
def before_create
    self.md5_password = User.hash_password(self.plain_password)
    self.registration_date = Time.now
end
def before_update
    self.md5_password = User.hash_password(self.plain_password)
    self.registration_date = Time.now
end


Ik hoop dat het een beetje duidelijk is...

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
Via het if attribuut van een validatie, kan je aangeven wanneer je een validatie wilt uitvoeren:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class User < ActiveRecord::Base
  validates_presence_of :password, :if => :validate_password?
  # OF
  validates_presence_of :password, :on => :create

  validates_confirmation_of :password, :if => :validate_password?

  def password=(password)
    write_attribute(:password, password)
    @new_password = true unless password.blank?
  end

  def validate_password?
    @new_password or new_record?
  end
end


Op deze manier kan je dus controleren of iemand een wachtwoord ingevoerd heeft bij het bewerken van een record. Indien dit het geval is, controlleer je de aanwezigheid. Bij validates_presence is dat wat onzin, je zegt immers dat hij altijd aanwezig moet zijn, behalve als hij niet aanwezig moet zijn. Dit kan je beter zeggen in de 2e presence regel, daarbij controleer je alleen de aanwezigheid bij het aanmaken van het record.

Wil je gaan werken met andere validaties, zoals confirmation, dan zal je wel een constructie met if moeten gebruiken.

  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 20:25
Flydesign.nl schreef op donderdag 28 december 2006 @ 10:37:
[...]


Via het if attribuut van een validatie, kan je aangeven wanneer je een validatie wilt uitvoeren:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class User < ActiveRecord::Base
  validates_presence_of :password, :if => :validate_password?
  # OF
  validates_presence_of :password, :on => :create

  validates_confirmation_of :password, :if => :validate_password?

  def password=(password)
    write_attribute(:password, password)
    @new_password = true unless password.blank?
  end

  def validate_password?
    @new_password or new_record?
  end
end


Op deze manier kan je dus controleren of iemand een wachtwoord ingevoerd heeft bij het bewerken van een record. Indien dit het geval is, controlleer je de aanwezigheid. Bij validates_presence is dat wat onzin, je zegt immers dat hij altijd aanwezig moet zijn, behalve als hij niet aanwezig moet zijn. Dit kan je beter zeggen in de 2e presence regel, daarbij controleer je alleen de aanwezigheid bij het aanmaken van het record.

Wil je gaan werken met andere validaties, zoals confirmation, dan zal je wel een constructie met if moeten gebruiken.
Hartelijk dank :) Ik verbaas me toch elke keer weer over de simpelheid. Bij rails is het eigenlijk altijd zo dat je te moeilijk denkt als je er niet uitkomt _/-\o_

[ Voor 52% gewijzigd door DRAFTER86 op 28-12-2006 13:43 ]


Acties:
  • 0 Henk 'm!

  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 20:25
Nog een vraagje, ik gebruik ajax om een html-tabel te updaten. In de tabel staat een lijst met items. In een dropdown heb ik een lijst met data. Kies je een andere datum moet de lijst geupdate worden.
Dit doe ik met "observe_field", dit gaat helemaal goed zolang ik een frequency instel. Wat ik echter zou willen is dat hij gewoon op een onchange event reageert, en eigenlijk ook op een onload om bij het laden van een pagina de tabel te vullen. Dus dan gebruik ik de volgende code (even zonder de onload om het niet ingewikkeld te maken ;)):
code:
1
2
3
4
5
6
7
<%= observe_field(:search_days,
                 :frequency => 0,
                 :on => "changed",
                 :update => :list,
                 :with => 'num_days',
                 :url => { :action => :ajax}) 
%>


Edit:
Hmm ik heb de fout gevonden, je moet de frequency niet opgeven, hoewel in de api-doc toch echt staat:
:frequency: The frequency (in seconds) at which changes to this field will be detected. Not setting this option at all or to a value equal to or less than zero will use event based observation instead of time based observation.

[ Voor 50% gewijzigd door DRAFTER86 op 30-12-2006 11:57 ]


Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
Precies, daar staat dus dat je geen frequentie moet opgeven als je wilt dat het observen via events gaat: wat jij dus wilt :)

Verder zou een ajax request naar aanleiding van een onload event overbodig moeten zijn, dan had je de gegevens die je via ajax wilt ophalen net zo goed met de normale request mee kunnen geven. Als je weet welke waarde de select box in het begin heeft, kan je ook de tabel vullen. Partials kunnen je daarbij erg goed helpen.

Acties:
  • 0 Henk 'm!

  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 20:25
Flydesign.nl schreef op zaterdag 30 december 2006 @ 13:06:
Precies, daar staat dus dat je geen frequentie moet opgeven als je wilt dat het observen via events gaat: wat jij dus wilt :)

Verder zou een ajax request naar aanleiding van een onload event overbodig moeten zijn, dan had je de gegevens die je via ajax wilt ophalen net zo goed met de normale request mee kunnen geven. Als je weet welke waarde de select box in het begin heeft, kan je ook de tabel vullen. Partials kunnen je daarbij erg goed helpen.
Duidelijk, maar er staat toch echt:
Not setting this option at all or to a value equal to or less than zero will use event based observation instead of time based observation.
Dus: Het niet toekennen van een waarde of van een waarde gelijk aan of kleiner dan nul heeft als gevolg dat er event-gebaseerde observatie gebruikt word...

Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
DRAFTER86 schreef op zaterdag 30 december 2006 @ 13:50:
[...]


Duidelijk, maar er staat toch echt:

[...]

Dus: Het niet toekennen van een waarde of van een waarde gelijk aan of kleiner dan nul heeft als gevolg dat er event-gebaseerde observatie gebruikt word...
code:
1
2
3
4
5
6
7
def observe_field(field_id, options = {})
  if options[:frequency] && options[:frequency] > 0
    build_observer('Form.Element.Observer', field_id, options)
  else
     build_observer('Form.Element.EventObserver', field_id, options)
  end
end


Dat zou het inderdaad moeten doen zoals het in de handleiding staat. Je zou eens in je html kunnen kijken of hij ook een EventObserver aanmaakt als je de frequentie gelijk aan 0 maakt.

Dit is overigens edge code, dus het zou kunnen dat je te maken hebt met een 'ouder' typefoutje.

Acties:
  • 0 Henk 'm!

  • Stephan11117
  • Registratie: Mei 2004
  • Laatst online: 10-09 14:30
Wederom een KICK!

Modbreak:Doe's niet... Als er iets te melden is wordt er vanzelf gepost...

[ Voor 66% gewijzigd door RobIII op 15-01-2007 18:52 ]


Acties:
  • 0 Henk 'm!

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Waarom :/

Doe dan een Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/tweakers/images/icons/icon_hand.gif

[ Voor 132% gewijzigd door RobIII op 15-01-2007 18:58 ]

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Acties:
  • 0 Henk 'm!

  • G33rt
  • Registratie: Februari 2002
  • Laatst online: 22-06-2022
Maffe vraag misschien, maar hoe geef ik de parse- en rendering tijd van een pagina op die pagina weer? Rails lijkt er geen fatsoenlijke functies voor te hebben, terwijl in log/development.log wel nette entries staan (iets als "completed in... | DB ... | rendering ..."). De docs en google leveren daar vrij weinig informatie over, weet iemand hoe het moet? :)

Acties:
  • 0 Henk 'm!

  • Stephan11117
  • Registratie: Mei 2004
  • Laatst online: 10-09 14:30
Als het puur om de duur van de queries gaat kan je misschien iets met deze plugin.

Acties:
  • 0 Henk 'm!

  • G33rt
  • Registratie: Februari 2002
  • Laatst online: 22-06-2022
Helaas werkt die niet met components, maar bedankt! :)

Acties:
  • 0 Henk 'm!

  • Stephan11117
  • Registratie: Mei 2004
  • Laatst online: 10-09 14:30
Voor de ontwikkelaars die op Windows werken:

Op mijn werk heb ik het genot te werken onder OsX, de ideale Rails ontwikkelomgeving, mede door de fantastische editor TextMate.

Echter thuis ben ik nog altijd aangewezen op het Windows platform. Na maanden, gefrustreerd, met RadRails te hebben gewerkt heb ik nu InType ontdekt. Een verademing!

Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
G33rt schreef op dinsdag 16 januari 2007 @ 22:25:
Helaas werkt die niet met components, maar bedankt! :)
Misschien dat RailsBench iets voor je is?

http://railsbench.rubyforge.org/

Acties:
  • 0 Henk 'm!

  • Neobender
  • Registratie: November 2001
  • Laatst online: 20-02 13:44
2nd edition van Agile Web Development with Ruby on Rails is alweer uit in Nederland, binnenkort even aanschaffen en serieus met ruby aan de slag!

Acties:
  • 0 Henk 'm!

Verwijderd

te halen bij selexis/donner?

Acties:
  • 0 Henk 'm!

  • Neobender
  • Registratie: November 2001
  • Laatst online: 20-02 13:44
Jup, in Rotterdam hadden ze er iig genoeg :)

Acties:
  • 0 Henk 'm!

Verwijderd

ok, dan ga ik morgen even dat boek halen. Als het goed is heb ik ook binnenkort een workshop bij Finalist IT

Acties:
  • 0 Henk 'm!

  • Stephan11117
  • Registratie: Mei 2004
  • Laatst online: 10-09 14:30
Tweeëntwing februari is er weer een heuse Rails- Coffee Meeting in A'dam!

[ Voor 23% gewijzigd door Stephan11117 op 26-01-2007 16:56 ]


Acties:
  • 0 Henk 'm!

  • DiedX
  • Registratie: December 2000
  • Laatst online: 20:31
Een korte vraag van mijn kant: ik probeer met mijn geringe programmeerervaring de oefeningen van Agile Webdevelopment with Rails te maken, maar heb het idee dat het echt een ongelooflijk gevoelige taal is qua tikfouten en interpunctie. Dit is al de 2e keer dat ik een half uur zoek naar een speld in de spreekwoordelijke hooiberg.

Ben ik de enige hierin?

Blijkbaar wel. Ik heb het zelfde stuk nog eens overgetikt, maar nu heb ik het niet meer :X

[ Voor 12% gewijzigd door DiedX op 04-02-2007 22:24 ]

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


Acties:
  • 0 Henk 'm!

  • c4ke
  • Registratie: September 2006
  • Laatst online: 15-10-2017
Ook ik ben de afgelopen weken flink met RoR aan de slag gegaan. Het zijn o.a die kleine dingen (zoals in de validatie oplossing van Flydesign.nl) die het ontwikkelen van je applicatie versnellen. Je moet het dan natuurlijk nog wel even weten.

Verder ga ik aan de slag met de combinatie Ruby en Gruff. Met Gruff kan je mooie statistieken in de vorm van pie-charts etc. laten genereren. Dit is ook een essentieel onderdeel van de applicatie waar ik aan werk.

Zelf ontwikkel ik op een Mac m.b.v. Locomotive...erg prettig. Heb wel even rondgekeken naar hosting en ook daar ben ik wel uit. Ik wil namelijk graag dat een aantal mensen continu mijn applicatie blijven testen (en thuis een systeem continu draaiend hebben, liever niet ^_-).

[ Voor 3% gewijzigd door c4ke op 07-02-2007 16:54 ]

I USE CAPS LOCK BECAUSE I WILL BECOME NOTICED, POPULAR, AND GOOD IN BED


Acties:
  • 0 Henk 'm!

  • Neobender
  • Registratie: November 2001
  • Laatst online: 20-02 13:44
DiedX schreef op zondag 04 februari 2007 @ 22:13:
Een korte vraag van mijn kant: ik probeer met mijn geringe programmeerervaring de oefeningen van Agile Webdevelopment with Rails te maken, maar heb het idee dat het echt een ongelooflijk gevoelige taal is qua tikfouten en interpunctie. Dit is al de 2e keer dat ik een half uur zoek naar een speld in de spreekwoordelijke hooiberg.

Ben ik de enige hierin?

Blijkbaar wel. Ik heb het zelfde stuk nog eens overgetikt, maar nu heb ik het niet meer :X
Er is (correct me if I'm wrong) geen een programmeer taal die tikfouten tollereert

Acties:
  • 0 Henk 'm!

  • addictive
  • Registratie: Maart 2003
  • Laatst online: 23-05 19:48
Neobender schreef op donderdag 08 februari 2007 @ 01:00:
[...]


Er is (correct me if I'm wrong) geen een programmeer taal die tikfouten tollereert
en als die er wel is, dan nog. Je moet je code gewoon goed op orde hebben. Interpunctie en hoofdletter wijs. Zo is je code makkelijk leesbaar voor anderen, en loop je jezelf niet scheel te zoeken wanneer je iets wilt wijzigen

Acties:
  • 0 Henk 'm!

Verwijderd

Hier komt ie, domste vraag van de dag:

Ik wou graag wat spelen met SimpelLog, een simpele blogengine gebaseerd op Ruby. Mijn hosting (bij GoDaddy) voldoet aan alle vereisten, maar ik heb problemen met de installatie: Waar moet ik in hemelsnaam volgende commands ingeven?
Ruby:
1
rake simplelog:install

Moet ik met één of andere applicatie inloggen op m'n hosting of kan ik dat in een webinterface doen? FYI, ik gebruik Mac OS X...

  • messi
  • Registratie: Oktober 2001
  • Laatst online: 12-09 09:41
Verwijderd schreef op woensdag 14 februari 2007 @ 12:04:
Hier komt ie, domste vraag van de dag:

Ik wou graag wat spelen met SimpelLog, een simpele blogengine gebaseerd op Ruby. Mijn hosting (bij GoDaddy) voldoet aan alle vereisten, maar ik heb problemen met de installatie: Waar moet ik in hemelsnaam volgende commands ingeven?
Ruby:
1
rake simplelog:install

Moet ik met één of andere applicatie inloggen op m'n hosting of kan ik dat in een webinterface doen? FYI, ik gebruik Mac OS X...
Je hebt shell toegang nodig tot de server van je provider. Als ze DirectAdmin gebruiken (met de juiste rails plugin) kun je het via direct admin doen. Het beste kun je dit aan je provider vragen, aangezien hij precies weet hoe ze het geïmplementeerd hebben, wij niet ;)

Onze excuses voor het ontbreken van de ondertiteling.


Verwijderd

messi schreef op donderdag 15 februari 2007 @ 11:51:
[...]


Je hebt shell toegang nodig tot de server van je provider. Als ze DirectAdmin gebruiken (met de juiste rails plugin) kun je het via direct admin doen. Het beste kun je dit aan je provider vragen, aangezien hij precies weet hoe ze het geïmplementeerd hebben, wij niet ;)
What is SSH?

SSH (Secure Shell) is a program that you can use to log in to another computer over a network so that you can execute commands on a remote machine and move files from one machine to another.

For security reasons, we do not allow SSH (or Telnet) connections to our hosting servers.
Crap...

Acties:
  • 0 Henk 'm!

  • Neobender
  • Registratie: November 2001
  • Laatst online: 20-02 13:44
Jeeej ik heb het boek, 2nd edition, dus ik kan eindelijk lekker los :)

Acties:
  • 0 Henk 'm!

Verwijderd

Opgelost

[ Voor 97% gewijzigd door Verwijderd op 01-03-2007 13:55 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Weet iemand of er een optie is om te kijken welke controllers er allemaal bestaan en welke acties er allemaal in deze controller zit,

dus binnen in een script dit bekijken en weer outputten .

Acties:
  • 0 Henk 'm!

Verwijderd

Ik zoek een leuke opdracht waar ik m'n skills in Ruby On Rails kan opfrissen. Heeft iemand nog een suggestie? Iets met een beetje Ajax? Ik zat te denken aan een chatbox, maar dat is ook niet meer zo origineel...

Acties:
  • 0 Henk 'm!

  • Stephan11117
  • Registratie: Mei 2004
  • Laatst online: 10-09 14:30
Een database-editor like phpMyAdmin in Rails!

Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
SynchroSteve schreef op dinsdag 20 maart 2007 @ 13:34:
Een database-editor like phpMyAdmin in Rails!
Maar dan database independant zoals ActiveRecord :-)

Acties:
  • 0 Henk 'm!

Verwijderd

Sorry idee afgekeurd, te saai toch :P

[ Voor 23% gewijzigd door Verwijderd op 20-03-2007 14:35 ]


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Hrm, je zou eens aan de slag kunnen met een beetje KI, probeer eens een sudoku oplosser / generator te maken, een opdracht die wij op school ook moesten maken (ik heb hem in Java gemaakt, kan nu ~80% van de sudoku's oplossen). Niet een grote opdracht in termen van hoeveelheid pagina's, maar wel een voor het oplossen van een probleem in Ruby / Rails.

Acties:
  • 0 Henk 'm!

  • Stephan11117
  • Registratie: Mei 2004
  • Laatst online: 10-09 14:30
Een sudoku oplossen kan in Ruby in 1 regel!

http://markbyers.com/moinmoin/moin.cgi/ShortestSudokuSolver

Acties:
  • 0 Henk 'm!

  • Stephan11117
  • Registratie: Mei 2004
  • Laatst online: 10-09 14:30
Deze inschrijving voor de Ruby en Rails dag 2007 is zojuist geopend!

Acties:
  • 0 Henk 'm!

  • MrData
  • Registratie: Februari 2000
  • Laatst online: 25-07-2022
Klein kickje voor een vraagje.

Ik heb nu op een serverbak (een XP machine) Ruby en Rails draaiende via Mongrel (via een Windows service). Hierop draait ook een eenvoudige XAMPP configuratie voor PHP en MySQL. Test rails skeleton projectje aangemaakt en die is via mijn ontwikkelmachine mooi op poort 4000 te benaderen.

Nu wil ik op de ontwikkelmachine met RadRails aan de gang om zo met Ruby aan de slag te gaan. Alleen als ik de manual bekijk, blijkt dat ik op de machine waarop RadRails gebruikt gaat worden het ook nodig is Ruby en Rails te installeren omdat het de binaries nodig heeft. Mijn insteek was bij het PHP scripten om lekker alle server-gerelateerde zaken op het serverbakje te laten plaatsvinden en in een editor alleen de PHP files te editen. En zo de ontwikkelmachine lekker schoon te houden.

Wat is bij ROR nou een goede werkwijze bij het ontwikkelen? Ik denk niet dat ik om het installeren van de binaries op de ontwikkelmachine heenkom, aangezien RadRails de interpreter en webrick of mongrel nodig heeft (die zal ik dan ook op de ontwikkelmachine moeten installeren?). Dus het ontwikkelen zal bijna helemaal lokaal moeten gebeuren, en dan kan ik eventueel naar MySQL op de servermachine connecten als dat nodig is. Waardoor de ROR installatie op de server eigenlijk nutteloos wordt..?

Hoe doen jullie het? :)

"We set sail on this new sea because there is new knowledge to be gained and new rights to be won." - John F. Kennedy - USS Valiant NCC-74210 dedication plaque


Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
MrData schreef op zondag 09 september 2007 @ 20:25:
Klein kickje voor een vraagje.

Ik heb nu op een serverbak (een XP machine) Ruby en Rails draaiende via Mongrel (via een Windows service). Hierop draait ook een eenvoudige XAMPP configuratie voor PHP en MySQL. Test rails skeleton projectje aangemaakt en die is via mijn ontwikkelmachine mooi op poort 4000 te benaderen.

Nu wil ik op de ontwikkelmachine met RadRails aan de gang om zo met Ruby aan de slag te gaan. Alleen als ik de manual bekijk, blijkt dat ik op de machine waarop RadRails gebruikt gaat worden het ook nodig is Ruby en Rails te installeren omdat het de binaries nodig heeft. Mijn insteek was bij het PHP scripten om lekker alle server-gerelateerde zaken op het serverbakje te laten plaatsvinden en in een editor alleen de PHP files te editen. En zo de ontwikkelmachine lekker schoon te houden.

Wat is bij ROR nou een goede werkwijze bij het ontwikkelen? Ik denk niet dat ik om het installeren van de binaries op de ontwikkelmachine heenkom, aangezien RadRails de interpreter en webrick of mongrel nodig heeft (die zal ik dan ook op de ontwikkelmachine moeten installeren?). Dus het ontwikkelen zal bijna helemaal lokaal moeten gebeuren, en dan kan ik eventueel naar MySQL op de servermachine connecten als dat nodig is. Waardoor de ROR installatie op de server eigenlijk nutteloos wordt..?

Hoe doen jullie het? :)
Heeft RadRails die binaries niet alleen nodig om vanuit RadRails de server opnieuw te kunnen starten of ruby taken uit te voeren? Als je deze dingen rechtstreeks op de server uitvoert en je code netjes daarheen update, zou RadRails prima moeten werken. Indien je wel vanuit RadRails je server wil herstarten of dingen wilt genereren, zal hij een lokale kopie van je applicatie verwachten. Aangezien je op je lokale machine geen Ruby hebt, zal dat niet gaan werken.

Persoonlijk heb ik liever alles lokaal staan, ook omdat ik veel mobiel werk. Alles gaat via SVN naar een productie server, om daar live te gaan.

De system requirements van Aptana / RadRails zeggen trouwens niets over Ruby: http://www.aptana.com/doc...ptana_System_Requirements

Acties:
  • 0 Henk 'm!

  • MrData
  • Registratie: Februari 2000
  • Laatst online: 25-07-2022
In de manual op http://www.aptana.com/doc..._and_configuring_RadRails wordt onder puntje 1 wel expliciet gezegd:
Before you can use the RadRails IDE, you will need to install the Ruby programming language and the Rails framework. After you install these components on your computer, you can install and configure RadRails.
Onder puntje 3 worden dan de koppelingen in de IDE naar de binaries gelegd.

Ik wil best lokaal werken en de serverbak alleen gebruiken om de MySQL databases op te draaien. Maar ik heb te weinig kennis van ROR en RadRails om te kunnen bepalen wat nou een goede werkwijze is. Draai ik alles lokaal (van een productieomgeving is hier geen sprake, ik wil via de boeken er kennis mee opdoen, nog even niks publiceren), of gebruik ik de serverbak waarop ROR en Mongrel als servertje draait. Wat mij met het oog op de scheiding tussen 1 machine die puur als server fungeert en 1 machine waarop al het development plaatsvindt, de mooiste oplossing lijkt.

In het tweede geval, hoe gebruik ik dan de IDE om ermee te werken?

[ Voor 8% gewijzigd door MrData op 09-09-2007 21:33 ]

"We set sail on this new sea because there is new knowledge to be gained and new rights to be won." - John F. Kennedy - USS Valiant NCC-74210 dedication plaque


Acties:
  • 0 Henk 'm!

  • MisterBlue
  • Registratie: Mei 2002
  • Laatst online: 10-09 20:13
Als je nog alleen aan het ontwikkelen bent kun je inderdaad alles beter lokaal hebben, zelfs de Mysql database. Dan kun je ook mobiel werken en de default instellingen werken dan meteen. In RoR is met de scheiding tussen onwikkel, test en productie al rekening gehouden, dus daarvoor hoef je niet perse een aparte server te hebben. Pas bij het deployen naar productie hoef je eraan te denken.

Ik heb zelf al meer dan een jaar niet met RadRails gewerkt en het staat me allemaal niet meer bij, maar in wezen hoeft het alleen te weten waar je project staat en zou het daaruit alles moeten kunnen herleiden.

Acties:
  • 0 Henk 'm!

  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 20:25
Ik las zojuist het volgende:
http://blog.rubyenrails.n...gende-niveau-met-ambition

Dat ziet er toch wel ontzettend interessant uit. Iets wat mij altijd ergert in rails is dat je vaak toch nog kleine stukjes sql aan het typen bent.

Acties:
  • 0 Henk 'm!

  • flowerp
  • Registratie: September 2003
  • Laatst online: 11-09 18:20
Wat ik me afvraag, het is nu bijna 2.5 jaar geleden sinds de topic start. Het nieuwe is er dus nu wel zo'n beetje van af en de realiteit zal bij een ieder bekend zijn.

Heeft RoR (voor degene die er mee bezig zijn) nu inderdaad die revolutie op web applicatie gebied gebracht of viel het achteraf gezien toch wel mee?

Is er dankzij RoR nu niemand meer die zich ook maar 1 keer herhaald tijdens programmeren?

It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.


Acties:
  • 0 Henk 'm!

  • MisterBlue
  • Registratie: Mei 2002
  • Laatst online: 10-09 20:13
Ik kan niet beoordelen of het andermans verwachtingen heeft waargemaakt. Wat ik wel weet is dat als ik terug keer op een java project, ik me steeds weer verbaas over de triviale (maar belangrijke) besluiten die genomen moeten worden om alleen al van start te gaan. In RoR kan ik me focussen op het oplossen van het probleem van de klant, zonder teveel afgeleid te worden door allerlei configuratie zaken. Dat heeft voor mij al voldoende meerwaarde om bij RoR te blijven.

Verder is er gewoon een zeer actieve nationale en internationale community, waardoor je heel snel oplossingen van elkaar overneemt en erop verder bouwt. Dus in die zin heb je veel minder dat we dingen dubbel doen. Maar ik moet mezelf af en toe nog wel steeds herhalen, dus als je dat als criterium neemt, valt het inderdaad wel mee.

Acties:
  • 0 Henk 'm!

Verwijderd

(beetje offtopic gebabbel)

Ik moet zeggen dat ik als hobbyist (en dat concept gebruik ik heel losjes) basis (web)programmeur beetje zit te twijfelen tussen Python/Django (grotere community, meer libraries, meer support/ondersteuning ivm hosting/servers etc.) of Ruby/RoR. Heel veel verschillen zijn er volgens mij niet tussen deze talen/methodieken, technisch gezien dan. Als newbie moet het dus eigenlijk niets uitmaken. Ik heb wel even met Ruby en RoR gespeeld en vond dat ook best oke.

Basis java heb ik al vaak genoeg gedaan tijdens mijn studies en ik vind het toch wat meer voor de hardcore mensen. Python/Ruby zijn daarentegen weer wat relaxer.

Hmmmm

[ Voor 4% gewijzigd door Verwijderd op 11-09-2007 14:38 ]


Acties:
  • 0 Henk 'm!

  • Stephan11117
  • Registratie: Mei 2004
  • Laatst online: 10-09 14:30
Ik ben fulltime Ruby on Rails ontwikkelaar, en doe dat al twee jaar. Ondertussen 20+ Ruby on Rails driven website online staan. Terug naar J2EE? Nooit :)

Acties:
  • 0 Henk 'm!

  • smesjz
  • Registratie: Juli 2002
  • Niet online
flowerp schreef op maandag 10 september 2007 @ 22:46:
Wat ik me afvraag, het is nu bijna 2.5 jaar geleden sinds de topic start. Het nieuwe is er dus nu wel zo'n beetje van af en de realiteit zal bij een ieder bekend zijn.

Heeft RoR (voor degene die er mee bezig zijn) nu inderdaad die revolutie op web applicatie gebied gebracht of viel het achteraf gezien toch wel mee?

Is er dankzij RoR nu niemand meer die zich ook maar 1 keer herhaald tijdens programmeren?
RoR is uiteraard veel meer dan DRY en het 'convention over configuration' credo vind ik nog steeds erg fijn. Het is denk ik nog steeds niet geschikt voor erg grote websites gezien de problemen met schaalbaarheid. Het heeft mij gezorgd dat ik gewoon plezier heb in het coden en bij RoR heb ik dat meer dan bij andere talen. Maar ik kies gewoon nog steeds de tools die mij het beste kunnen helpen bij het oplossen van een probleem en soms is dat RoR en maar vaak ook niet.

De taal Ruby heeft maar weinig veranderingen doorgemaakt (waar blijft de release van 1.9?) er is in het laatste half jaar ook geen release geweest van Rails, maar geen reden om het meteen af te schrijven. De populariteit van de taal is in dit geval niet af te meten aan het aantal posts in deze thread :)

En ja, ik gebruikte Rails al voordat deze thread gestart was :)

  • MisterBlue
  • Registratie: Mei 2002
  • Laatst online: 10-09 20:13
De taal Ruby heeft maar weinig veranderingen doorgemaakt (waar blijft de release van 1.9?) er is in het laatste half jaar ook geen release geweest van Rails, maar geen reden om het meteen af te schrijven.
Ja, een half jaar geen release is best wel lang voor rails. Gelukkig is werken met een svn:external naar rails edge goed werkbaar. Het vereist wel dat je je unit testen op orde hebt, want er wil weleens wat breken, maar voor de rest is het stabiel genoeg om ook in productie op een niet officiele release te draaien.

  • flowerp
  • Registratie: September 2003
  • Laatst online: 11-09 18:20
SynchroSteve schreef op dinsdag 11 september 2007 @ 18:37:
Ik ben fulltime Ruby on Rails ontwikkelaar, en doe dat al twee jaar. Ondertussen 20+ Ruby on Rails driven website online staan. Terug naar J2EE? Nooit :)
Je bedoeld natuurlijk Java EE? :P

Anyway, 20+ is wel een behoorlijk aantal. Het hangt natuurlijk altijd van je perceptie af hoe veel je denkt dat iets gebruikt wordt. In de sector waar ik werk zie ik eigenlijk alleen maar Java EE. Een kennis van me werkt in een andere sector en toevallig ziet die bijna alleen maar ASP.NET langskomen.

2.5 jaar geleden werd RoR gebracht als de next big thing. Zijn er al sectoren die volledig gedomineerd worden door RoR?

It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.


  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 20:25
Vraagje, ik heb een authorization systeem welke op basis van de opgevraagde controller en action kijkt of een user recht heeft die pagina te bekijken. Nu heb ik niet zoveel zin om handmatig rechten voor alle actions van mij controllers te maken. Is het mogelijk om in Ruby een lijst van alle controllers en vervolgens van de zich daarin bevindende actions te krijgen?

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
flowerp schreef op woensdag 12 september 2007 @ 13:06:
[...]


Je bedoeld natuurlijk Java EE? :P

Anyway, 20+ is wel een behoorlijk aantal. Het hangt natuurlijk altijd van je perceptie af hoe veel je denkt dat iets gebruikt wordt. In de sector waar ik werk zie ik eigenlijk alleen maar Java EE. Een kennis van me werkt in een andere sector en toevallig ziet die bijna alleen maar ASP.NET langskomen.

2.5 jaar geleden werd RoR gebracht als de next big thing. Zijn er al sectoren die volledig gedomineerd worden door RoR?
Mwoah, 20 op 2 jaar tijd vind ik eigenlijk weinig, voor een framework wat zichzelf 2 jaar geleden profileerde met "bouw een blog in 15 minuten."

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • MisterBlue
  • Registratie: Mei 2002
  • Laatst online: 10-09 20:13
Vraagje, ik heb een authorization systeem welke op basis van de opgevraagde controller en action kijkt of een user recht heeft die pagina te bekijken. Nu heb ik niet zoveel zin om handmatig rechten voor alle actions van mij controllers te maken. Is het mogelijk om in Ruby een lijst van alle controllers en vervolgens van de zich daarin bevindende actions te krijgen?
Weet niet of het makkelijker kan maar als je met edge werkt zou je met volgende code een lijst van controllers genereren.

code:
1
ActionController::Routing::possible_controllers


of de rake task
code:
1
rake routes


Werk je niet op edge kun je in routing.rb kijken hoe het een en ander eruit ziet.

Met onderstaande code kun je de actions achterhalen.
code:
1
MyController.instance_methods(false)

Verwijderd

Grijze Vos schreef op woensdag 12 september 2007 @ 14:39:
Mwoah, 20 op 2 jaar tijd vind ik eigenlijk weinig, voor een framework wat zichzelf 2 jaar geleden profileerde met "bouw een blog in 15 minuten."
Mwah, het gaat natuurlijk veel meer om inhoud/kwaliteit dan de mogelijke snelheid van de techniek. Dat je in 15 minuten een blog kan maken wil niet zeggen dat een RoR programmeur om de 15 minuten een blog eruit knalt. Is een beetje zinloos. En dat voorbeeld was meer bedoeld om te laten zien hoe makkelijk het is, niet zo zeer hoe snel.

  • MisterBlue
  • Registratie: Mei 2002
  • Laatst online: 10-09 20:13
Anyway, 20+ is wel een behoorlijk aantal. Het hangt natuurlijk altijd van je perceptie af hoe veel je denkt dat iets gebruikt wordt. In de sector waar ik werk zie ik eigenlijk alleen maar Java EE. Een kennis van me werkt in een andere sector en toevallig ziet die bijna alleen maar ASP.NET langskomen
De acceptatie van RoR in de grotere bedrijven waar al java en/of .net gebruikt wordt is ronduit slecht. RoR snoept eigenlijk meer markt aandeel van PHP af. Ik denk dat je meer in de creatieve/innovatieve sectoren moet zijn om RoR tegen te komen. Bedrijven als Wakoopa, Waag Society en Independent IP maken er bijvoorbeeld gebruik van om nieuwe concepten neer te zetten.

Acties:
  • 0 Henk 'm!

  • D4Skunk
  • Registratie: Juni 2003
  • Laatst online: 26-07 16:22

D4Skunk

Kind of Blue

Ikzelf was (en ben nog steeds) enthousiast over Ror, maar het grootste probleem is idd de acceptatie. Zelf heb ik het ook een paar keer proberen pushen, maar zonder resultaat.
De meeste bedrijven hebben enkele jaren geleden blijkbaar al genoeg kosten gemaakt met migraties naar .NET/Java, zodat ze atm niet echt de effort willen maken & het risico willen nemen om er nog maar eens een andere technologie bij te nemen, met alle bijkomende problemen vandien.

Zelf heb ik het jammergenoeg NOOIT meer gebruikt... (€€ gaan voor op mijn eigen voorkeur :X )

Misschien zal ik ooit nog wel eens ... maar aangezien ik atm fulltime freelance werk zal het de eerste jaren waarschijnlijk bij .NET blijven.

Acties:
  • 0 Henk 'm!

  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 20:25
Flinke kick, maar ik loop ergens tegenaan waar ik niet uit kom.
Ik heb een datamodel met daarin products, product_options en product_option_collections.
Door opties niet direct maar via de collecties aan producten te koppelen kan ik makkelijk grote aantallen opties groeperen. Ik heb dus de volgende tabellen:

products
id
name
....

product_options
id
name
...

product_option_collections
id
name

product_option_collections_product_options
product_option_id
product_collection_id

product_option_collections_products
product_id
product_collection_id

De relaties products <-> product_collections en product_collections <-> product_options zijn via has_and_belongs_to_many gedefineerd in de modellen.
Nu werkt dit allemaal prima, maar ik zou natuurlijk graag bij een Product-object een property @product.product_options hebben. Die is er nu dus niet, enkel @product.product_option_collections. Is hier een 'mooie' oplossing voor?

Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
Volgens mij ben je op zoek naar has_many :through :-)

code:
1
2
3
class products
  has_many product_options, :through => product_collections
end

Acties:
  • 0 Henk 'm!

  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 20:25
Flydesign.nl schreef op vrijdag 02 november 2007 @ 17:33:
Volgens mij ben je op zoek naar has_many :through :-)

code:
1
2
3
class products
  has_many product_options, :through => product_collections
end
Dat dacht ik dus ook maar dit werkt bij mij niet:
code:
1
2
3
4
class Product < ActiveRecord::Base 
  has_and_belongs_to_many :product_option_collections
  has_many :product_options, :through => :product_option_collections  
end


Ik krijg dan de volgende error:
code:
1
2
3
Invalid source reflection macro :has_and_belongs_to_many for 
has_many :product_options, :through => :product_option_collections.  
Use :source to specify the source reflection.


Als ik de :source parameter toevoeg zoals hieronder dan veranderd er niks aan die foutmelding :(
code:
1
has_many :product_options, :through => :product_option_collections,  :source => :product_options


Ik krijg het idee dat je met :through exact hetzelfde kan doen als met habtm? Gewoon via 1 join-table model's koppelen. Of zit ik er hier naast?

Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
DRAFTER86 schreef op zaterdag 03 november 2007 @ 13:52:
[...]


Dat dacht ik dus ook maar dit werkt bij mij niet:
code:
1
2
3
4
class Product < ActiveRecord::Base 
  has_and_belongs_to_many :product_option_collections
  has_many :product_options, :through => :product_option_collections  
end


Ik krijg dan de volgende error:
code:
1
2
3
Invalid source reflection macro :has_and_belongs_to_many for 
has_many :product_options, :through => :product_option_collections.  
Use :source to specify the source reflection.


Als ik de :source parameter toevoeg zoals hieronder dan veranderd er niks aan die foutmelding :(
code:
1
has_many :product_options, :through => :product_option_collections,  :source => :product_options


Ik krijg het idee dat je met :through exact hetzelfde kan doen als met habtm? Gewoon via 1 join-table model's koppelen. Of zit ik er hier naast?
Volgens mij kan je habtm en hmt niet door elkaar gebruiken. Misschien moet je die habtm even vervangen door een normale has_many?

Acties:
  • 0 Henk 'm!

  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 20:25
Flydesign.nl schreef op zaterdag 03 november 2007 @ 17:05:
[...]


Volgens mij kan je habtm en hmt niet door elkaar gebruiken. Misschien moet je die habtm even vervangen door een normale has_many?
http://wiki.rubyonrails.org/rails/pages/ThroughAssociations
Ik begrijp hier uit dat :through eigenlijk hetzelfde doet als habtm maar dan met een extra eigenschap bij de relatie (in de link is dat catalogue_items.position).
Dus niet echt wat ik zoek.
Ik heb het nu maar opgelost door zelf een methode product_options te schrijven in product.rb.

Acties:
  • 0 Henk 'm!

  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 20:25
En dan nog wat :-)
Wat doe ik met formulieren waar geen model aan gekoppeld is?
Ik ben nu bezig met een search pagina, hoe kan ik nu in mijn controller errors throwen die in de view geshowed worden? Denk aan een minimum woord lengte...

Acties:
  • 0 Henk 'm!

  • Tom-Eric
  • Registratie: Oktober 2001
  • Laatst online: 25-03 09:11
DRAFTER86 schreef op woensdag 28 november 2007 @ 07:39:
En dan nog wat :-)
Wat doe ik met formulieren waar geen model aan gekoppeld is?
Ik ben nu bezig met een search pagina, hoe kan ik nu in mijn controller errors throwen die in de view geshowed worden? Denk aan een minimum woord lengte...
Je zou een model kunnen aanmaken zonder een achterliggende tabel. Als je onderstaande code in een bestandje in lib/ zet, dan kan je ook meteen gebruik maken van alle validatie functies:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Tableless < ActiveRecord::Base
  def self.columns()
    @columns ||= [];
  end

  def self.column(name, sql_type = nil, default = nil, null = true)
    columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)
  end

  # override the save method to prevent exceptions.
  def save(validate = true)
    validate ? valid? : true
  end
end

En een voorbeeld model:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Filter < Tableless
  column :name, :string
  column :gender, :string
  column :email, :string
  column :age_from, :integer
  column :age_till, :integer

  validates_format_of :age_from, :age_till,
                      :with => /[0-9]+/,
                      :message => 'Moet een nummer zijn'

  def new
    super
    valid?
  end
end

i76 | Webdesignersgids | Online Gitaarlessen & Muziekwinkels


Acties:
  • 0 Henk 'm!

  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 20:25
Tom-Eric schreef op woensdag 28 november 2007 @ 13:22:
[...]

Je zou een model kunnen aanmaken zonder een achterliggende tabel. Als je onderstaande code in een bestandje in lib/ zet, dan kan je ook meteen gebruik maken van alle validatie functies:

knip
Goed plan! Klinkt ook wel logisch.
Dan nog iets, ik heb een database met cd's, ik heb een tabel artists, elke artist heeft een of meer albums en van elk album zijn weer 1 of meer 'producten' en elk product heeft een product_type (LP, CD, etc).
Nu wil ik hiervoor een zoekmachine maken, dit gaat op een klein puntje na goed, ik heb de volgende find-aanroep:
Ruby:
1
2
3
4
5
6
7
8
@albums = Album.find( :all,
                            :offset => @page*per_page,
                            :limit => per_page+1,
                            :group => "products.product_type_id,albums.id", 
                            :order => "artists.name, albums.name",
                            :include => [[:products => :product_type],:artist], 
                            :conditions => condition_sql)          
      


Dit werkt perfect. Even voor de volledigheid, de query haalt alle albums met bijbehorende producten en artiesten op. De producten worden per album gegroepeerd op type. Dus als er van 1 album 2 cd's in de DB staan wordt dit maar 1x weergegeven.
Wat ik nu graag zou doen is het aantal producten dat er van een bepaald type beschikbaar is ook weergeven.

In SQL zou dit als volgt gaan (eerste regel: COUNT(products.id) AS product_type_count):
code:
1
2
3
4
5
6
7
8
SELECT COUNT(products.id) AS product_type_count,albums.*, artists.*, products.*, product_types.* 
FROM albums
LEFT OUTER JOIN artists ON artists.id = albums.artist_id
LEFT OUTER JOIN products ON albums.id = products.album_id
LEFT OUTER JOIN product_types ON products.product_type_id = product_types.id
WHERE artists.name LIKE '%jimi%' 
GROUP BY product_types.id,albums.id
ORDER BY albums.name


Nu wil ik dit dus met find() doen en dat wil niet. Ik heb dat :select parameter als volgt meegestuurd:
code:
1
:select => 'COUNT(products.id) AS product_type_count'


Dit veranderd echter helemaal niks aan de door rails gestuurde query plus dat ik niet zou weten hoe ik nu de 'product_type_count' property zou moeten opvragen.
Ik heb ook even gekeken naar find_by_sql maar dan gooit hij allerlei namen door elkaar. (Albums die opeens LP als titel hebben).
Iemand een idee?

Edit:

En nog iets, ik zie dat rails de volgende query uitvoert voor de 'main' query:
code:
1
2
3
4
5
6
7
8
9
Album Load IDs For Limited Eager Loading (0.000714)   
SELECT DISTINCT albums.id 
FROM albums 
LEFT OUTER JOIN products ON products.album_id = albums.id 
LEFT OUTER JOIN product_types ON product_types.id = products.product_type_id 
LEFT OUTER JOIN artists ON artists.id = albums.artist_id 
WHERE (artists.name LIKE '%jimi%') 
ORDER BY artists.name, albums.name 
LIMIT 0, 6


In de query daarna doet hij:
code:
1
2
WHERE (artists.name LIKE '%jimi%') 
AND albums.id IN ('15441', '15443', '15442', '15440', '15449', '15445')


Daar snap ik echt niks van, eerst de query uitvoeren en dan de data ophalen voor de betreffende id's, dat klinkt als dubbel zoeken...

[ Voor 13% gewijzigd door DRAFTER86 op 28-11-2007 19:13 ]


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
rails 2.0 is uit :).

[ Voor 3% gewijzigd door YopY op 12-12-2007 09:40 ]


Acties:
  • 0 Henk 'm!

  • Stephan11117
  • Registratie: Mei 2004
  • Laatst online: 10-09 14:30
MisterBlue schreef op woensdag 12 september 2007 @ 18:17:
Wakoopa, Waag Society en Independent IP maken er bijvoorbeeld gebruik van om nieuwe concepten neer te zetten.
Jep, de jongens van oa. Wakoopa zijn goed bezig!

Ook nakko.com is een voorbeeld van een grote Rails-driven website.
* Stephan11117 trots is ;)

Overigens aanstaande donderdag weer een Coffee Conf bij de Coffee Company aan de Nieuwe Doelenstraat in Amsterdam. Voor iedere geinteresseerde absoluut interessant om even binnen te wippen en ervaringen uit te wisselen!

Acties:
  • 0 Henk 'm!

  • iain
  • Registratie: Februari 2001
  • Laatst online: 19-07-2017

iain

Full Flavor

Toch redelijk stil hier...

* iain is afgelopen tijd bezig geweest met www.levenals.nl,

Met 414 regels code, door 2 man binnen een week in mekaar gezet. Het ontwerp was wel grotendeels af voor we eraan begonnen, maar de implementatie ervan, alle modellen etc niet.

Helaas is de enige testing die we hebben kunnen uitvoeren testing met plain text stories (te vinden in de rsec plugin) in combinatie met selenium: alleen black box testing dus...

Voorbeeldje:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Story: Arrangement

As a user
I want to invite people
So I have more chance of winning an arrangement

        Scenario: Browsing the homepage
                Given a clean database
                When the user goes to /
                Then the page should contain the text 'Het alledaagse laten voor wat het is'

        Scenario: Choosing an arrangement
                When the user chooses the godinfrankrijk arrangement
                Then the page should contain the text 'leven als een God in Frankrijk'
                And the page should contain the text 'aan ons voor te stellen'


Je ziet ook echt firefox deze dingen doen, supersnel, echt heel gaaf!

Ik ben nu bezig met een grotere website voor mijn afstudeerstage met tot op heden ruim 2200 regels code en ruim 1800 regels testcode. Best gaaf, al zeg ik het zelf :)

I used to be an atheist, until I realised I was god.


Acties:
  • 0 Henk 'm!

  • prototype
  • Registratie: Juni 2001
  • Niet online

prototype

Cheer Bear

Interessante benchmark trouwens op http://digg.com/programmi..._in_performance_benchmark :)

Acties:
  • 0 Henk 'm!

  • Kanarie
  • Registratie: Oktober 2000
  • Nu online

Kanarie

תֹ֙הוּ֙ וָבֹ֔הוּ

Tja, krijg een beetje het 'Benchmark game' idee. Zie ook http://shootout.alioth.de...t=all&lang=ruby&lang2=php

Feit is dat Ruby als taal gewoon nog gruwelijk traag is. Gelukkig wordt er op verschillende manieren aan gewerkt (YARV in Ruby 1.9/2.0, JRuby en Rubinius bijv).

We're trapped in the belly of this horrible machine. And the machine is bleeding to death.


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Ik snap echt het nut van die benchmark niet :X Wat hebben zeggen die paar array operaties nou over de performance van een compleet framework met tig database requests en meerdere geneste classes op een site met dikke load :?

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 10-04-2024

Scharnout

Meuk

Ok! Volgens mij gaat het na veel enthousiasme nu de prullenbak in bij mij.

Ik doe even 3 maanden niets aan ontwikkeling omdat ik aan het verhuizen ben. Ik draai ondertussen paar keer apt-get update en voila. Je kan heel je godvergeten applicatie gaan verbouwen. Met alle respect ... zo win je geen gebruikers.

Het is een prachtig framework, een heerlijke taal, een mooie belofte, maar ze veranderen te snel te veel. Elke week verandert er wel een gem of is de gem waar je net mee werkt niet meer mainstream. Het is gewoon nog te vroeg om hier als semi-amateur mee te ontwikkelen. Ik moet alleen verhuizen van taal omdat asp toch echt zo 1999 is, dus dan maar php leren. Ook zijn nadelen. Vast. Genoeg als ik het zo lees, maar dit is te frustrerend.

Hoe gaan jullie daar mee om?

And Bob's your uncle ...


Acties:
  • 0 Henk 'm!

  • Kanarie
  • Registratie: Oktober 2000
  • Nu online

Kanarie

תֹ֙הוּ֙ וָבֹ֔הוּ

Scharnout schreef op maandag 30 juni 2008 @ 22:49:
Ok! Volgens mij gaat het na veel enthousiasme nu de prullenbak in bij mij.

Ik doe even 3 maanden niets aan ontwikkeling omdat ik aan het verhuizen ben. Ik draai ondertussen paar keer apt-get update en voila. Je kan heel je godvergeten applicatie gaan verbouwen. Met alle respect ... zo win je geen gebruikers.

Het is een prachtig framework, een heerlijke taal, een mooie belofte, maar ze veranderen te snel te veel. Elke week verandert er wel een gem of is de gem waar je net mee werkt niet meer mainstream. Het is gewoon nog te vroeg om hier als semi-amateur mee te ontwikkelen. Ik moet alleen verhuizen van taal omdat asp toch echt zo 1999 is, dus dan maar php leren. Ook zijn nadelen. Vast. Genoeg als ik het zo lees, maar dit is te frustrerend.

Hoe gaan jullie daar mee om?
Rails versie freezen in je applicatie. Gems freezen in je applicatie

We're trapped in the belly of this horrible machine. And the machine is bleeding to death.


Acties:
  • 0 Henk 'm!

  • MisterBlue
  • Registratie: Mei 2002
  • Laatst online: 10-09 20:13
Scharnout schreef op maandag 30 juni 2008 @ 22:49:
Ok! Volgens mij gaat het na veel enthousiasme nu de prullenbak in bij mij.

Ik doe even 3 maanden niets aan ontwikkeling omdat ik aan het verhuizen ben. Ik draai ondertussen paar keer apt-get update en voila. Je kan heel je godvergeten applicatie gaan verbouwen. Met alle respect ... zo win je geen gebruikers.

Het is een prachtig framework, een heerlijke taal, een mooie belofte, maar ze veranderen te snel te veel. Elke week verandert er wel een gem of is de gem waar je net mee werkt niet meer mainstream. Het is gewoon nog te vroeg om hier als semi-amateur mee te ontwikkelen. Ik moet alleen verhuizen van taal omdat asp toch echt zo 1999 is, dus dan maar php leren. Ook zijn nadelen. Vast. Genoeg als ik het zo lees, maar dit is te frustrerend.

Hoe gaan jullie daar mee om?
Ik heb niet het idee dat het tempo van wijzigingen veel zal veranderen in de toekomst. Het is denk ik een van de kenmerken van de rails community.

De basis verandert echter niet zoveel. Dus als je eerst gewoon Ruby via boeken of screencastss leert en daarna Rails, heb je een goede basis en dan is het makkelijker om bij te blijven.

Acties:
  • 0 Henk 'm!

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 10-04-2024

Scharnout

Meuk

MisterBlue schreef op dinsdag 01 juli 2008 @ 08:42:
[...]


Ik heb niet het idee dat het tempo van wijzigingen veel zal veranderen in de toekomst. Het is denk ik een van de kenmerken van de rails community.

De basis verandert echter niet zoveel. Dus als je eerst gewoon Ruby via boeken of screencastss leert en daarna Rails, heb je een goede basis en dan is het makkelijker om bij te blijven.
Dat is het probleem niet zo, maar als je 2x een update mist kloppen al je gems niet meer en kan je al je bestanden gaan renamen. Gelukkig was ik nog niet ver, dus ik wilde nog 1x overnieuw proberen, maar volgens mij las ik al weer dat de gem voor postgresql weer niet goed was. Ik ga nog even op onderzoek uit, maar anders houdt het op. Vriend van me zei: je tools en taal moeten je helpen niet tegenwerken.

edit: gisteren liep dus mijn activescaffold gem vast, daarna mijn extensies en toen nog iets. shift+delete en dan maar opnieuw beginnen

[ Voor 7% gewijzigd door Scharnout op 01-07-2008 09:04 ]

And Bob's your uncle ...


Acties:
  • 0 Henk 'm!

Verwijderd

Ik ben sinds een paar maanden ook bezig met RoR, ik gebruik het vooral als backend voor me Flex 3 applicaties. Ik moet zeggen dat ik het erg lekker vind werken. Ik ben eigenlijk alleen goed bekend met PHP, de OO manier is dus wel een beetje wennen, maar dat gaat redelijk snel.

Er zijn op internet genoeg boeken en tut's te vinden die je duidelijk uitleggen hoe te werken met RoR.. echter de combinatie met Flex zie je niet veel.. Een van de weinige boeken die ik tegen kwam was Flexiblerails uitgegeven door Maning dacht ik.

Ik ontwikkel op Mac OS X 10.5, waar RoR standaard al op geïnstalleerd is. Op dit moment ben ik me nog aan het verdiepen in de zaken om het als hosting dienst aan te gaan bieden.

kort samen gevat, een leuke en snelle taal die vooral ook makkelijk te leren is! :)

Acties:
  • 0 Henk 'm!

  • flowerp
  • Registratie: September 2003
  • Laatst online: 11-09 18:20
Verwijderd schreef op maandag 01 december 2008 @ 15:27:
kort samen gevat, een leuke en snelle taal die vooral ook makkelijk te leren is! :)
Absoluut een leuke taal en zo voor snel-snel een erg leuk platform. Maar hoe zit dat nu met dat "take over the world" ?

RoR zou -zo- ongelooflijk makkelijk en snel zijn, dat ontwikkelen in welke andere taal gewoon niet meer verantwoord zou zijn. Als je een willekeurige (web) app in 100x minder tijd kunt maken met RoR dan met b.v. Java EE of ASP.NET, dan is het amper nog een optie om naar de laatste 2 te kijken, zelfs als ze 'iets' beter zouden zijn. Ok, die 100x is misschien iets overdreven, maar de belofte was wel dat het -veel- sneller ontwikkelen zou zijn.

Echter, ik zie mensen nog steeds niet massaal op Ruby overgestapt zijn.

It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.


Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
flowerp schreef op maandag 01 december 2008 @ 21:49:
[...]


Absoluut een leuke taal en zo voor snel-snel een erg leuk platform. Maar hoe zit dat nu met dat "take over the world" ?

RoR zou -zo- ongelooflijk makkelijk en snel zijn, dat ontwikkelen in welke andere taal gewoon niet meer verantwoord zou zijn. Als je een willekeurige (web) app in 100x minder tijd kunt maken met RoR dan met b.v. Java EE of ASP.NET, dan is het amper nog een optie om naar de laatste 2 te kijken, zelfs als ze 'iets' beter zouden zijn. Ok, die 100x is misschien iets overdreven, maar de belofte was wel dat het -veel- sneller ontwikkelen zou zijn.

Echter, ik zie mensen nog steeds niet massaal op Ruby overgestapt zijn.
Hoe snel en geweldig RoR ook is, dat zal niet 'zomaar' iedereen laten overstappen. Mensen die nu goed geld verdienen met PHP, .NET of Java EE zullen niet al hun kennis overboord gooien en overstappen. Daarnaast is Ruby helaas nog vaak onbekend bij opdrachtgevers en is er soms best wat schaarste aan Ruby programmeurs. Daardoor zullen veel bedrijven nog voor de zekerheid kiezen van een gevestigde taal. Ook blijven er complexe situaties waarbij Rails het ook moeilijk gaat krijgen. Kwestie van tijd totdat de taal wat meer ingeburgerd is misschien?

Neemt niet weg dat het een hele prettige taal blijft en ik nog steeds met veel plezier er mee werk. Het is vooral leuk om te zien hoe een taal en framework het proces van applicatie bouwen kan verbeteren. Doordat de taal zo expressief is en veel zorgen al weggenomen zijn door het framework, blijf je veel dichter bij het echte probleem dat je wilt oplossen. En dat zorgt in mijn ogen voor een beter eindresultaat.

Overigens is met Passenger het hosting probleem wel een stuk minder geworden. Eerst was Rails hosting nog best ingewikkeld en soms traag, maar met de Apache module hoeft dat geen reden meer te zijn om niet over te stappen ;)

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 12-09 16:20
Ruby is ook niet rete snel. Ruby 1.9 schijnt wel erg veel sneller te zijn, ben er wel benieuwd naar, maar 1.9.1 is nog niet uit als stabiele versie..

|>


Acties:
  • 0 Henk 'm!

  • MisterBlue
  • Registratie: Mei 2002
  • Laatst online: 10-09 20:13
flowerp schreef op maandag 01 december 2008 @ 21:49:
[...]


Absoluut een leuke taal en zo voor snel-snel een erg leuk platform. Maar hoe zit dat nu met dat "take over the world" ?

...

Echter, ik zie mensen nog steeds niet massaal op Ruby overgestapt zijn.
Het "nobody got fired for choosing IBM" principe. Achter Ruby staan geen grote namen van bedrijven, behalve Sun dat Jruby ondersteund, maar daar ook niet veel marketing voor doet. Je kunt ook geen Ruby certificaat halen, een soort schijn zekerheid waar veel werkgevers wel om vragen als het om java of c# gaatt.

Rails is intussen wel een volwassen en valide alternatief voor php of java web frameworks en er is voldoende werk in te vinden nu. De markt is groot en divers genoeg voor meerdere technologische oplossingen en het is niet nodig om iedereen over te laten stappen. "take over the world" is geen doel (niet meer in elk geval).

[ Voor 0% gewijzigd door MisterBlue op 20-12-2008 20:17 . Reden: typo ]

Pagina: 1 2 3 4 5 Laatste