краткое обновление
Я мог бы даже не позаботиться о форме для отправки данных в базу данных, а вместо этого просто использовать консоль Heroku, так что моя единственная задача - получить ее.
Оригинальный вопрос
Я прочитал все книги, но теперь, когда я пытаюсь реализовать, я запутался
Я создал модель с именем Total (не лучшее имя, но это еще одна проблема) с тремя столбцами, profit
, number
и fees
. Вот распечатка консоли
t = Total.first
=> #<Total id: 1, profit: 500, number: 7, fees: 40, created_at: "2012-01-12 04:21:33", updated_at: "2012-01-12 04:21:58">
(Обратите внимание, я предполагаю, что эта запись будет доступна для представления на localhost: 3000, если она сделана в базе данных разработки)
Для меня проще всего представить эти данные (из-за моего макета веб-страницы) в application.html.erb
, поэтому у меня есть такой столик. Когда вы посмотрите на эту таблицу, вы можете увидеть, как я хочу представить данные, вызвав «прибыль» для переменных экземпляра @t.profit
@t.number
и @t.fees
.
<table class = "condensed-table" >
<thead>
<tr>
<th>Profit </th>
<th>Number of Trades</th>
<th> Fees</th>
</tr>
</thead>
<tbody>
<tr>
<td>$<%= @t.profit %> </td>
<td><%= @t.number %></td>
<td><%= @t.fees %></td>
</tr>
</tbody>
</table>
Так что теперь вопрос только в получении данных из базы данных и создании переменной экземпляра, чтобы я мог вызывать @ t.profit, как я это делал в консоли
ruby-1.9.2-p290 :019 > t.profit
=> 500
Итак, с Total.rb model
и презентацией в application.html.erb
я решил, что мне нужно сделать это ...
@t = Total.find(params[:id])
чтобы получить данные из базы данных, но как мне назвать метод и где я должен поместить его, чтобы он работал?
Например, если бы у меня был контроллер страниц и представление страниц, я мог бы просто создать действие индекса в представлении, например
def index
@t = Total.find(params[:id])
end
и тогда я мог бы просто сделать @t.profit
(я предполагаю). Однако, если бы я сделал что-то подобное, моя таблица для представления данных была бы недоступна для каждой части моего сайта.
Я пытался поместить его в application_controller.rb
def index
@t = Total.find(params[:id])
end
и получил это сообщение об ошибке
NoMethodError in Posts#index
Showing /Users/me/Sites/enki2/app/views/layouts/application.html.erb where line #73 raised:
undefined method `profit' for nil:NilClass
Extracted source (around line #73):