CanCan, select

Cześć,

Mam takiego selecta:

  <%= select("led", "client_id", Client.all.collect {|p| [ p.company, p.id ] }, {:include_blank => 'Wybierz'}) %>

Da się aby CanCan ograniczył liczbę wyciągniętych klientów tylko do tych, którzy są przypisani do zalogowanego usera?

Takie coś nie jest moim zdaniem dobrym rozwiązaniem:

  <%= select("led", "client_id", current_user.clients.collect {|p| [ p.company, p.id ] }, {:include_blank => 'Wybierz'}) %>

Pozdrawiam. :slight_smile:

ogólnie w colltrolerze current_user.costam jest dobrym rozwiązaniem jak masz relację dobre.

PS olej te cuda co tworzysz i zajmij się formtastic, do forumlarzy będzie łatwiej szybciej i ładniej

http://railscasts.com/episodes?utf8=✓&search=formtastic

cała seria na blache ;]

w formtastic to co robisz robisz tak

= f.input :clients, :include_blank => false

i wszystko.

A i olej erb czas zająć się HAML I SASS to tak na uboczu

Formastica zaraz przejrzę, a te kolejne rzeczy to za jakiś czas, bo dopiero 6 dni uczę się Railsów. ;p

No to jak najbardziej już czas ułatwić sobie życie, erb wymusza strasznie dużo pisania i nieciekawej składni. Chyba wszyscy używają haml i sass, więc nim szybciej zaczniesz tym lepiej

Ja np nie używam haml bo w netbeans jest dobre wsparcie dla erb i nigdy nie potrzebowałem haml. Trudno mi się przekonać do języka w którym nie mogę zrobić, kopiuj, wklej, wyrównaj. Haml cierpi na tą samą przypadłość co python. Rozpoznaje bloki kodu po wcięciach a nie if/endach i jak chce coś przenieść to nie jest tak łatwo… Aczkolwiek widzę pewne piękno w tym, nie bronię nikomu używać i nie przeczę, że powoli staje się standardem w rails i pewnie kiedyś będę musiał się go nauczyć.

Jezu.

JEZU JEZU JEZU.

Powoli? Staje się?

Co to jest, kurna, 2007?

Aż czterech Jezusów trzeba by przełknąć tą wiadomość?

To jeszcze powiem, że bez formtastica nie mogę żyć :slight_smile:

Powoli? Staje się?

Co to jest, kurna, 2007?[/quote]
Oj tam oj tam, jest od cholery osób, które hamla po prostu nie lubią i powiedziałbym, że standardem dalej jest erb. Cały czas w ogromnej większości aplikacji, z którymi mam do czynienia, używany jest erb i to się raczej nie zmieni dopóki haml nie będzie domyślnym językiem szablonów w railsach. A szanse na to są w praktyce żadne, bo większość core teamu uważa, że haml jest kiepskim pomysłem.

Ja sam mam mieszane uczucia. Z jednej strony podoba mi się kompaktowość hamla, a z drugiej strony wkurza mnie, że wymusza czasami używanie dziwnych helperów typu surround.

A w tym Netbeans nie ma po prostu automagicznego wyrównania tekstu dla haml. Kopiujesz, klikasz i wszystko jest na swoim miejscu. No w vim jest. Netbeans nigdy nie uzywałem, ale nie ma szans by nie było, … chociaż? Ja się chory robię jak otwieram jakiś projekt i jest tam erb. No ale każdy ma swoje zboczenia, jak bez formtastic też żyć nie umiem ;]

Nie istnieje skończona liczba Jezusów która pozwoli przełknąć “argument poprzez wsparcie w IDE”. Jak trafiłeś na Ruby, skoro w Eclipse jest świetne wsparcie dla Javy, wyrównywanie tekstu i automagiczny “refactoring”? :wink:

Ale to nie jest z mojej strony argument za czymkolwiek lub przeciwko czemukolwiek. Ja tylko mówię, że jak masz język w którym nie ma zamknięć dla bloków i skopiujesz blok z miejsca które ma jedno wcięcie do takiego bardziej zagłębionego gdzie jest ich 5 (lub odwrotnie) to IDE nie może ci na magiczny skrót klawiszowy tego poprzestawiać bo nie wie co miałeś na myśli. Sam musisz wciąć tu czy tam by wcięcia się zgadzały. Jak masz bloki to dzięki temu wiesz na jakim poziomie wklejony został kod i możesz go automatycznie zindentować? I nie ma różniczy czy to IDE to Vim czy Netbeans. Nie czyta ono w głowie.

Bardzo uniwersytecki żart, który mnie rozbawił. Nieprawda, że istnieje taka liczba Jezusów, że … :slight_smile:

O Ruby dowiedziałem się z książki “Więcej niż Java”, która otworzyła mi oczy na inne opcje w okolicach 2go, 3go roku studiów. Javy nigdy się nie nauczyłem (1 projekt na studiach w 2 dni), C# używałem przez ponad rok w korpo. W podsumowaniu tej książki Ruby wydawał się wyglądać najlepiej, spróbowałem Rails ale się odbiłem od nieznajomości Ruby, spróbowałem Ruby ale troche się poobijałem o bloki. Jak już pokochałem bloki i ruby to przeczytałem AWDWR, porobiłem na studiach projekt w Rails 1, później go zrobiłem drugi raz lepiej na magisterkę w Rails 2 a teraz się męczę z Rails 3 w życiu :slight_smile:

Dalej uważam, że refaktoryzowanie niektórych rzeczy w Railsach mogłoby być prostsze ale z pewnych przyczyn nie jest. Poniekąd trochę o tym będzie moja dzisiejsza prezentacja na DRUG.

Powiem tutaj, to czego tam nie powiem. Gdyby widoki kontrolerów były obok nich to wystarczyło, że bym zmienił nazwę jednego folderu a nie kilku żeby zmienić namespace. A tak muszę zmieniać w app/controllers app/models app/views … W językach statycznych nie ma takich problemów, klikasz rach ciach i masz wszędzie zmienioną nazwę namespace’a :slight_smile: Są za to inne problemy. Przy mega dużych projektach czas kompilacji naprawdę zaczyna być problematyczny i starasz się to robić jako programista jak najrzadziej.

Wydaje mi się, że najbardziej w Rails urzekł mnie http://railscasts.com/ . Można być puszczać ludziom na studiach jako przykład jak uczyć technologii.

TextMate trzyma poziom wcięć podczas wklejania, automatycznie dodaje wcięcia przy wklejaniu bloków haml. A to zwykły edytor tekstu.

To samo jEdit.

Dlatego właśnie uważam argument Paneq’a za inwalidę :wink:

Dobrze wiedzieć :slight_smile: W takim razie nic nie trzyma mnie przed tym by nie spróbować. Kojarzę np, że Kate też miało z tym problemy, Gedit także.
Radzą sobie tylko jak robię kopiuj wklej między tym samym programem czy także jak z zewnętrznego źródła ?

Nawet nie wiem gdzie zacząć tak wielkie zło widzę w Twoich doświadczeniach z komputerami. Nabądź Maka i się uwolnij :slight_smile:

To jest racjonalne pytanie bo wydaje mi się, że dane w schowku mogą mieć jakieś metadane itp które pozwalają różnym programom różnie sobie radzić z tym co tam jest schowane. Jak zrobisz kopiuj pliku video i wklej to w jednych miejscach dostaniesz tekst ze ścieżką a w innych wklei Ci video.

Zdecydowanie nie mam ochoty używać Maka. Cały sposób myślenia Apple o komputerach mi nie odpowiada za bardzo. To już jest mega offtop, który moglibyśmy skończyć.

Vim też trzyma, no trzeba wcisnąć == albo sobie to zdefiniować by co cwila wywoływane było, ale łatwiej zaznaczyć fragment, dać == i masz wszystkie wcięcia jak powinny być, nawet w pythonie, haml’u i czym tam sobie wymyślisz. Źródło jest dowolne.

Dla tych co nie pisali w ansi c i nie używali wtedy linuxów powiem. przypomnę, że za układ tekstu, odpowiedzialny był program o nazwie indent. Miał on wbudowane mnóstwo gotowych formatowań, i np na takich a takich zajęciach prowadzący lubił żeby każdy przed oddaniem kod przeleciał stylem takim a takim np mistrza D. Knutha. Na tej samej zasadzie działają te programy, jak vim czy inne odpalają poprzez jakiś klawisz czy też automagicznie skrypt który układa kod według reguł.

No faktycznie ten HAML jest elegancki, pół mniej kodu.