Моя модель Article
, и я хочу отобразить только фрагмент основной части статьи, чтобы предварительно просмотреть эту конкретную статью.
Как бы я сделал это с Sequel?
Я думал, что это может быть использование limit
, но это просто ограничивает количество записей, возвращаемых из базы данных.
В идеале я хотел бы сделать что-то вроде: Article.first.limit(40)
, где 40 — это первые 40 символов.
Я знаю, что limit
не сработает, но я просто использую его как пример, чтобы проиллюстрировать то, что я ищу.
Редактировать 1:
Я использую Синатру. Я хотел ограничить возвращаемые значения, но из представления, а не из файла маршрутизации.
Я делаю что-то подобное в файле маршрутизации:
@section = HelpSections.filter(:type => 'a').order(:sort, :name)
Что дает мне список всех разделов типа a
.
Затем, чтобы перейти к статье, я делаю:
@section.each do |article|
article.question.each do |title|
title.name[0..9]
end
end
Основываясь на этом сценарии, я хочу ограничить размер возвращаемого атрибута «имя».
Но, когда я это делаю, я получаю эту ошибку:
undefined method '[]' for nil:NilClass
Как мне справиться с этим, чтобы я мог ограничить размер атрибута name
?
@section.each do |article|
article.name[0..9]
- person Alex Peattie   schedule 12.11.2011article.question.each do |title|
... он не должен возвращатьnil
, если анализирует символы в статье. Если я делаюarticle.name
, он возвращает полное значение (длинное). Когда я делаюarticle.name[0..9]
, именно тогда он жалуется, что наводит меня на мысль, что он может искать запись по имени, а не анализировать символы... если это имеет смысл. - person marcamillion   schedule 12.11.2011article.name.to_s[0..9]
- person Alex Peattie   schedule 12.11.2011