Это может указывать на то, что ваше действие TransactionsController#index
ничего не возвращает для @transactions. Наиболее очевидная причина в том, что любая логика, которую вы используете для поиска записей, не работает, возвращает 0 результатов или неправильно устанавливает @transactions.
В подобных представлениях вы хотите выполнить проверку ошибок для ситуации, когда у вас нет результатов (или какой-либо ошибки).
Ваш просмотр index.html:
<% if !@transactions || @transactions.length == 0 %>
<p>'No transactions found.'</p>
<% else %>
<table>
<!-- put your column headers here -->
<!-- the next line iterates through each transaction and calls a "_transaction" partial to render the content -->
<%= render @transactions %>
</table>
<% end %>
Ваша частичная _transaction.html.erb:
<tr>
<td><%= transaction.transaction_type %></td>
<td><%= transaction.date %></td>
</tr>
Это заставит ваш взгляд снова работать. Следующий шаг - выяснить, почему действие вашего контроллера не возвращает результаты. Для начала откройте консоль rails и попытайтесь получить записи:
>> Transaction.all
Если это возвращает какие-либо результаты, значит, у вас есть данные. Если нет, создайте запись либо через веб-интерфейс, который вы разработали, либо через консоль rails:
>> t = Transaction.new()
>> t.transaction_type = 1 #or whatever is appropriate for your application
>> t.date = Date.today
>> t.valid? #if true, your record will save. If not, you need to fix the fields so they validate
>> t.save
Как только у вас будет запись, снова протестируйте свой вид. Если по-прежнему происходит сбой, возможно, у вас есть ошибка в логике контроллера. Что касается того, что это может быть за ошибка, вам нужно будет опубликовать ее, чтобы мы могли вам в этом помочь. :)