Я использую friendly_id gem для изменения моих URL.Но у меня есть проблема с моей системой лайков.
Для использования friendly_id я меняю свой контроллер :
@software = Software.find(params[:id])
на
@software = Software.friendly.find(params[:id])
Так что мои like.js не распознают идентификатор моей модели.Вот ошибка:
ActionView::Template::Error (undefined method `id' for nil:NilClass):
1: $('#like-icon-software-<%= @software.id.to_s %>').
2: html('<%= j render "softwares/like_icon", {is_liked: @is_liked, software: @software} %>');
Спасибо за вашу помощь и извините за мой английский ..
РЕДАКТИРОВАТЬ 1:
Я вхожу впараметры:
Processing by LikesController#create as JS Parameters: {"software_id"=>"Odoo"}
вместо
Processing by LikesController#create as JS Parameters: {"software_id"=>"1"}
без friendly_id.
models / software.rb
extend FriendlyId
friendly_id :title, use: [:slugged, :finders]
def is_liked user
Like.find_by(user_id: user.id, software_id: id)
end
Как продолжить получать идентификатор, а не «слизняк»?