Article View: pl.comp.lang.ruby
Article #400Re: RoR insert po utworzeniu
From: Rafał Komorowski
Date: Mon, 22 Jan 2007 10:04
Date: Mon, 22 Jan 2007 10:04
29 lines
2776 bytes
2776 bytes
> Czy tabela "tabela" jest "widoczna" w kontrolerze users? > Jak generalnie uruchamiać własne zapytania typu insert? > Find_by_sql służy tylko do selectów? [ciach] > Rzeźbię rozdział z Rails Recipies na temat "Role-Based Authorization" Tomek, skoro masz tak podstawowe pytania, to radzę zostawić na razie "Rails Recipes", bo to jest książka z przykładami rozwiązania mniej banalnych problemów. Na początek przeczytaj "Agile Web Development with Rails", bo to jest podstawowa książka ucząca co i jak. Co do pytań, to: 1) Tabela "tabela" może być widoczna w kontrolerze 'users" poprzez relację. Jeśli stosujesz się do konwencji railsowej to nawet nie trzeba zapytania. W tabeli Tabela powinieneś mieć pole 'user_id" (nie: id_usera), wtedy Rails samo wie, że to relacja do innej tabeli (Users) poprzez pole "id". Wtedy można spokojnie pisać na przykład: @element_tabeli.user.nazwisko (zakładam, że tabela Users zawiera pole "nazwisko", oczywiście poza polem "id" służącym do budowania relacji). 2) SQL w Raisach jest zasadniczo szczątkowo potrzebny tylko do bardziej zagmatwanych rzeczy. Proste relacje są załatwiane w pełni przez mechanizm ORM (Object Relational Mapping), który w Rails funkcjonuje pod nazwą ActiveRecord. Nie mam dużego doświadczenia w Rails, ale nie sądzę, żeby potrzebne były ręczne INSERTy w jakiejkolwiek aplikacji, a jeśli jest taka potrzeba, to znaczy że projektant/programista źle zbudował model obiektów reprezentowany przez bazę danych.
Technical Details
Message-ID:
<1169460257.171983.240680@q2g2000cwa.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!q2g2000cwa.googlegroups.com!not-for-mailReferences:
<pan.2007.01.21.11.43.43.948396@moje.ubuntu.com.pl.eu.org>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!q2g2000cwa.googlegroups.com!not-for-mail From: Rafał Komorowski <komor@mac.com> Newsgroups: pl.comp.lang.ruby Subject: Re: RoR insert po utworzeniu Date: 22 Jan 2007 02:04:17 -0800 Organization: http://groups.google.com Lines: 31 Message-ID: <1169460257.171983.240680@q2g2000cwa.googlegroups.com> References: <pan.2007.01.21.11.43.43.948396@moje.ubuntu.com.pl.eu.org> NNTP-Posting-Host: 212.244.99.88 Mime-Version: 1.0 X-Trace: posting.google.com 1169460263 12737 127.0.0.1 (22 Jan 2007 10:04:23 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 22 Jan 2007 10:04:23 +0000 (UTC) In-Reply-To: <pan.2007.01.21.11.43.43.948396@moje.ubuntu.com.pl.eu.org> User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/418.9.1 (KHTML, like Gecko) Safari/419.3,gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: q2g2000cwa.googlegroups.com; posting-host=212.244.99.88; posting-account=jFd1wQ0AAAAlfseeQQmjNNaI5fc2IpJd Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit