Как отобразить данные из model.rb в файл index.html? - PullRequest
0 голосов
/ 08 сентября 2011

Я создаю свое первое приложение rails, и мои файлы HTML и CSS настроены в / public, а models.rb в / models содержит мой код.

В данный момент код представляет собой один Def, который ищет 5 последних твитов, упоминающих меня в файле models.rb.

Я хочу взять эти 5 твитов и оформить их определенным образом. Я никогда не обращался к данным из одного файла в другой, поэтому не совсем уверен, как заставить эти твиты появляться в файле index.html.

Любая помощь высоко ценится.

require 'rubygems'
require 'twitter'

def search
  search = Twitter::Search.new
  search.containing("@twitter").result_type("recent").per_page(5).each do |r|
     puts "#{r.from_user}: #{r.text}"
  end
end

search #calls search function

Это код в models.rb, который нужно отобразить в index.html

1 Ответ

2 голосов
/ 08 сентября 2011

Прежде всего, вы хотите правильно организовать свои файлы. Вы не упомянули контроллеры, но вам понадобится один для каждого типа «вещей», с которыми вы хотите, чтобы пользователи взаимодействовали. Смотри: http://guides.rubyonrails.org/action_controller_overview.html

Вам нужна такая файловая структура:

CSS в /public/stylesheets/whatever.css
HTML в /app/views/tweets/index.html.erb

Имейте в виду, что я не знаком с вашей конкретной структурой базы данных, но в контроллере tweets (хранящемся в /app/controllers/tweets_controller.rb) вы в идеале хотели бы сделать это:

def index
    @tweets = @user.tweets.order("tweets.created_at DESC").limit(5)
end

Тогда в index.html.erb:

<% @tweets.each do |tweet| %>
    <div class="tweet">
        <%= @tweet.text %>
    </div>
<% end %>

Это самая подробная информация, которую я могу вам дать из вашего вопроса - вы должны прочитать о структуре MVC в рельсах и, прежде всего, потратить время на то, чтобы ваш проект был хорошо запущен / организован. Это избавит вас от головной боли в будущем!

Удачи.

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