2015-01-20 6 views
-2

Я хочу использовать рельсы для создания веб-сайта, теперь мне нужен контроллер с несколькими страницами, и каждая страница извлекает данные из разных таблиц данных, как я могу это сделать?Rails, контроллер может соответствовать более чем одной модели?

+0

Да. вы можете это сделать –

ответ

3

Это абсолютно возможно. Причина, по которой вы не видите ее в учебниках или очень часто, заключается в том, что Rails построен на концепции REST. Таким образом, это поведение не рекомендуется по ряду причин. Однако, если вы хотите, вот общая схема шагов.

Это требует нескольких шагов:

1.) Создание контроллера. rails generate controller <name>

2.) Создайте маршрутизацию и соответствующие действия в созданном вами контроллере.

ie. В routes.rb вы объявляете URL-адрес, контроллер обрабатывает его (используйте тот, который вы только что создали), и действие (метод внутри контроллера)

3.) В каждом действии вы можете обратиться к любой таблице базы данных, которую хотите. Если DB имеет сообщения, теги и комментарии в виде таблиц, например ...

Class YourController < ApplicationController 
    def action1 
    @posts = Post.all 
    end 

    def action2 
    @comments = Comment.all 
    end 

    def action3 
    @tags = Tag.all 
    end 
end 

Теперь action1 ожидают вид под названием action1.html.erb, и то же самое для двух других действий. Когда вы перейдете к URL-адресу action 1, который вы установили в routes.rb, он отобразит код html и erb с этого вида.

Это очень подробный вопрос, и это краткий обзор шагов. Есть много полезных ресурсов для начала работы с Rails.

Rails Bate's Railscasts являются удивительными. Кромки также твердые: edgeguides.rubyonrails.org/

+0

Спасибо большое :) – gsky

Смежные вопросы