У меня есть модель пользователя, которая has_many взломала и взломала принадлежность пользователю. В Hack есть поле user_id.Рельсы доступа к записи с использованием belongs_to
У меня есть static_pages_controller с домашним действия:
def home
@hacks = Hack.all
@users = User.all
end
Модель пользователя является:
class User < ActiveRecord::Base
attr_accessible :username, :email, :password, :password_confirmation
has_secure_password
has_many :hacks
end
Модель хак:
class Hack < ActiveRecord::Base
attr_accessible :hack_name, :serial_ids, :commentary
has_many :hacktions, :dependent => :destroy
has_many :serials, through: :hacktions
belongs_to :user
default_scope order: 'hacks.created_at DESC'
extend FriendlyId
friendly_id :hack_name, use: :slugged
end
В представлении я хочу прокрутите хаки, а затем определите связанного с ним пользователя:
<% @hacks.each do |h| %>
<span><%= @users.find(h.user_id).username %>
<div class = "home-date"><%= h.created_at.strftime("%B %m, %Y - %I:%M %p") %><%= image_tag("housing.png") %></div>
<div class = "home-title"><%= link_to h.hack_name, hack_path(h) %></div>
<div class = "commentary lead"><%= markdown(h.commentary) %></div>
<% end %>
Я получаю следующее сообщение об ошибке:
undefined method `username' for #<Enumerator:0x007fd5078ac7b0>
Любые идеи, что я делаю неправильно здесь. FYI: имя пользователя является доступным полем из пользовательской модели.
показать свои модели и отношения –
Благодаря Sanny Sin, alestanis по праву обнаружил, что мне нужно было поставить сначала до вызова t o имя пользователя. – JohnGalt
@sanny Sin Я обновил свои модели в сообщении. – JohnGalt