Реализация контроллера страницы по всем рельсам - PullRequest
0 голосов
/ 05 октября 2009

Кажется, у меня немного на голову. Я создал контроллер Page Model и Pages. Идея заключалась в том, чтобы иметь возможность вызывать что-то вроде 'print: controller =>' Pages ',: action =>' view ',: id =>' 6 ',: layout =>' none ''

И в моем application.html.erb у меня есть div с yield, а в следующем div я хотел бы получить страницу выше.

Но я просто не могу заставить себя делать это. Кто-нибудь, кто понимает, что я пытаюсь сделать? Я просто могу объяснить, что я пытаюсь хранить статический текст в базе данных и могу вызывать его, когда мне это нужно. Так что я могу хранить целые страницы, такие как «привет» и «обо мне», в текстовом поле, вроде встроенного cms

Траусти

1 Ответ

2 голосов
/ 05 октября 2009

Я думаю, что вам не хватает гибкости моделей Rails. Они просто объектные классы. Вы можете использовать их везде, где вы используете объект Ruby. Все это :controller => 'blah', :action => 'yadda' предназначено для генерации или анализа URL для внешнего мира. Внутри вашего приложения, просто позвоните по вашей модели.

В этом случае, если все, что вам нужно, это просто извлечь содержимое со страницы с известным именем, я бы предложил написать метод класса в вашем классе Page, который сделает поиск за вас. Например (настройте свои собственные имена полей и потребности):

class Page < ActiveRecord::Base
  # ...Other stuff...

  def self.content(name)
    page = find_by_name(name)
    page.content if page
  end
end

Тогда вы могли бы просто позвонить Page.content('about') куда угодно, и он вернул бы содержимое страницы «о», горячее и свежее для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...