Я делаю это в моей функции редактирования, обновления, уничтожитьоптимизируют код рубин рельсы
@post = Post.friendly.find(params[:id])
if @post.user_id == current_user.id
там какой-нибудь способ оптимизировать и сделать одну функцию, вы использовали, чтобы это нравится:
before_action :set_user_post, only: [:edit, :update, :destroy]
private
def set_user_post
@post = current_user.posts.find_by(id: params[:id])
end
Но добавьте драгоценный камень friendly_id и измените его следующим образом:
private
def set_user_post
@post = current_user.posts.friendly.find(id: params[:id])
end
Но это дает мне ошибку. ошибка:
Mysql2::Error: Unknown column 'id.id' in 'where clause': SELECT `posts`.* FROM `posts` WHERE `posts`.`user_id` = 1 AND `id`.`id` = 'primero' LIMIT 1
Какая ошибка возникает у вас? Отправьте сообщение об ошибке, включая имя файла и номер строки и полную трассировку стека. – spickermann
Ошибка: Mysql2 :: Ошибка: Неизвестный столбец 'id.id' в 'where clause': SELECT 'posts'. * FROM' posts' WHERE 'posts'.'user_id' = 1 AND' id'.'id' = 'primero' LIMIT 1 @spickermann –