Поиск:

Ответ в темуСоздание новой темы Создание опроса
> def find, помощь! 
:(
    Опции темы
murgancokva
Дата 23.2.2011, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 23.2.2011

Репутация: нет
Всего: нет



Такая пробелема.. Есть база, в ней записи (блог), много записей, скажем 50, я хочу получить только к примеру запись с ID 5, или к примеру хчоу получить 10 записей (это будет SQL запрос). так вот, где мне его написать и как?
там вроде в модели надо написать,..

def find
 и тут писать sql запрос?
end

Так? Ну а дальше как, его вывести?
PM MAIL   Вверх
source777
Дата 23.2.2011, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



А чем тебя ActiveRecord не устраивает? 

Это сообщение отредактировал(а) source777 - 23.2.2011, 17:17


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
murgancokva
Дата 23.2.2011, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 23.2.2011

Репутация: нет
Всего: нет



Дада, именно это, может я не так вырозился.. но как его использовать, я что-то не понимаю.. я новичок, так что.. это пистаь в модель? 
а если я использую к примеру другйо фраймворк типо  extjs ? как мне сделать так чтобы выдовало только к примеру 2 записи?
PM MAIL   Вверх
source777
Дата 23.2.2011, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



Цитата(murgancokva @  23.2.2011,  17:30 Найти цитируемый пост)
Дада, именно это, может я не так вырозился.. но как его использовать, я что-то не понимаю.. я новичок, так что.. это пистаь в модель? 
а если я использую к примеру другйо фраймворк типо  extjs ? как мне сделать так чтобы выдовало только к примеру 2 записи? 

extjs не имеет ни малейшего отношения к работе с БД. 
Прочитай сначала хотя бы Rails Tutorial, если после этого останутся вопросы, то задавай. А обучать веб-программированию с нуля тебя тут никто не будет.

Это сообщение отредактировал(а) source777 - 23.2.2011, 20:03


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
murgancokva
Дата 23.2.2011, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 23.2.2011

Репутация: нет
Всего: нет



Да нет, нет, вы меня не поняли...

как вообще пишется activerecord и где? Если у меня есть база, я хочу вытащить только 2 записи.. SELECT * from users LIMIT 2... как мне это сделать через activerecord??
Что вообще писать и куда? В модель или в контроллер?

 def index

... 

end

и
PM MAIL   Вверх
AndreyDr
Дата 23.2.2011, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 22.9.2010

Репутация: нет
Всего: нет



Почитай RusRails читай это там как раз всё что нужно расписано!
PM MAIL ICQ   Вверх
murgancokva
Дата 24.2.2011, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 23.2.2011

Репутация: нет
Всего: нет



прочел все понятно, но дурацкий вопрос созрел, вся логика значит будет в контроллере не вмодели? в модели я ничего не пишу да? 
к примеру

@users = User.find([2]) это я пишу в контроллере?
PM MAIL   Вверх
source777
Дата 25.2.2011, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



Цитата(murgancokva @  24.2.2011,  23:22 Найти цитируемый пост)
вся логика значит будет в контроллере не вмодели? в модели я ничего не пишу да? 

Не совсем, в моделях должна быть сосредоточена логика работы с БД. А в контроллерах будут просто вызовы методов модели.
Если тебе нужны лишь Model.find(id), Model.all и т.д., то в самой модели тебе не придётся ничего писать, т.к. это реализовано в базовом классе, но так бывает только в самых тривиальных случаях.


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
murgancokva
Дата 25.2.2011, 01:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 23.2.2011

Репутация: нет
Всего: нет



Цитата
Не совсем, в моделях должна быть сосредоточена логика работы с БД. А в контроллерах будут просто вызовы методов модели"
 


А можно примерчик простенький какой нибудь? Допустим вывод данных и сортировка по Desc
PM MAIL   Вверх
source777
Дата 27.2.2011, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



Цитата(murgancokva @  25.2.2011,  01:48 Найти цитируемый пост)
А можно примерчик простенький какой нибудь? Допустим вывод данных и сортировка по Desc 

Ну это действительно слишком простенько, одна строка в модели добавится:
Код

default_scope :order => "name DESC"


А если хочешь более сложных примеров, то загляни в исходный код любого крупного проекта на Rails, например, RefineryCMS, Spree (для Rails 3.0) или FatFreeCRM, Redmine (для Rails 2.3)


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby on Rails"
source777
  • С чего начать? начинаем
  • Документацию смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby On Rails | Следующая тема »


 




[ Время генерации скрипта: 0.1106 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.