Ruby on Rails: не удается внедрить систему Star Rating

Я пытаюсь добавить простую систему Star Rating для моего приложения, принявэтот урок для примера. У меня есть модели User, Hotel и Rating. Зависимости:

(Rating.rb)

  belongs_to :user
  belongs_to :hotel  

(hotel.rb) & (user.rb)

has_many :ratings

И со следующим кодом в виде отеля я получаю эту ошибку:

NameError in Hotels # show

неопределенная локальная переменная или метод "пользователь" для класса ...

(в соответствии с<% = form_for...)

Вид на отель (Show.html.erb):

      <% form_id = "hotel_#{@hotel.id}_rating" %>
      <% if signed_in? %> <!-- To avoid throwing an exception if no user is signed in -->
          <% user_id = current_user.id %>
      <% else %>
          <% user_id = -1 %>
      <% end %>        
          <%= form_for @hotel.ratings.find_or_create_by_user_id user.id, 
                      :html => {:id => form_id, 
                      :class => "star_rating_form"} do |f| %>
              <%= f.hidden_field :hotel_id, :value => @hotel.id %>
              <% if signed_in? %>
                  <%= f.hidden_field :user_id, :value => current_user.id %>
              <% end %>        
              <%= f.hidden_field :stars, :id => form_id + "_stars" %>
          <% end %>
      <% (1..5).each do |i| %>
          <li class="rating_star" id="<%= form_id %>_<%= i %>" data-stars="<%= i %>" data-form-id="<%= form_id %>"></li>
      <% end %>

Рейтинговый контроллер это:

def create
end

def update
end

def rating_params
  params.require(:rating).permit(:stars)
end

Файл миграции:

create_table :ratings do |t|
  t.integer :stars, :default => 0
  t.references :store
  t.references :user
end

Ответы на вопрос(2)

Ваш ответ на вопрос