2013-07-02 3 views
0

Я новичок в рубине и подбираю его немного медленнее, чем хотелось бы. Я работаю с ruby ​​3.0. Для одной из моих таблиц в базе данных, которую я создал, я хочу, чтобы первичный ключ отображался на странице «индекс». Мне трудно это делать. Я вручную поместить идентификатор в индексном, но он продолжает говорить "неопределенный метод` venture_round_id "Как показать первичный ключ в индексе для рубинов на рельсах?

Это то, что мой index.html выглядит для таблицы:

<h1>Listing venture_rounds</h1> 
<table> 
<tr> 
<th>id</th> 
<th>company</th> 
</tr> 
<% @venture_rounds.each do |venture_round| %> 
<tr> 
<td><%= venture_round.venture_round_id %></td> 
<td><%= venture_round.company_id %></td> 
<td><% link_to 'show', venture_round %></td> 
<td><%= link_to 'Edit', edit_venture_round_path(venture_round) %></td> 
<td><%= link_to 'Destroy', venture_round, method: :delete, data: { confirm: 'Are you sure?' } %></td> 
</tr> 
<% end %> 
</table> 

Я вошел" venture_round_id "и" id "вручную.

Это то, что мой контроллер выглядит для индекса:

def index 
@venture_rounds = VentureRound.all 
respond_to do |format| 
format.html # index.html.erb 
format.json { render json: @venture_rounds } 
end 
end 

Я исследовал эту проблему в течение двух дней, и теперь не смог найти много об этом. Я предполагаю, что проблема имеет какое-то отношение к доступу к ключу в собственной таблице. Другие части моей структуры базы данных, которые используют enterprise_round_id как внешний ключ, работают очень хорошо. Любые указатели или советы были бы очень признательны!

+2

Чтобы добавить к Rodrigo's Ответ: внешний ключ обычно находится в формате «table_id», но собственный первичный ключ таблицы обычно является просто «id». Если вы когда-нибудь захотите посмотреть, как выглядят ваши таблицы базы данных, вы можете открыть 'db/schema.rb', чтобы посмотреть на схему. Вы также можете запустить консоль Rails, и если вы просто наберете имя своего класса, например «VentureRound», оно покажет вам его атрибуты, например «VentureRound (id: integer, company_id: integer и т. Д.)». – MrDanA

ответ

5

Попробуйте venture_round.id вместо venture_round.venture_round_id

редактировать из MrDanA:

внешний ключ, как правило, в формате «table_id», но собственный первичный ключ таблицы, как правило, просто «идентификатор». Если вы хотите посмотреть, как выглядят таблицы вашей базы данных, вы можете открыть db/schema.rb, чтобы посмотреть на схему. Вы также можете запустить консоль Rails, и если вы просто наберете имя своего класса, например VentureRound, оно покажет вам его атрибуты, что-то вроде VentureRound (id: integer, company_id: integer и т. Д.)

+0

Ну, это довольно очевидно, что я новичок, это было довольно легко исправить ... Большое спасибо! – Jarom

+0

считают, что это правильный ответ и его сохранение –

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