如何在使用 friendly_id 时获得实际 post.id

How to get actual post.id while using friendly_id

我目前的 post 模型使用 friendly_id 将 Post.id 替换为 Post.pidfriendly_id :pid, :use => :scoped, :scope => :id

如何获取 post 的实际 ID 而不是 slug,以便在回复保存时将 Post.id 而不是 Post.slug 保存到 Reply.post_id

我需要这样做,因为 post 由于 post.pid 不是唯一的

而在其他论坛上创建的回复出现了
class RepliesController < ApplicationController
  def create
    @board = Board.friendly.find(params[:board_id])
    @post = Post.friendly.find(params[:post_id])
    @reply = @post.replies.create(reply_params)
    @post.touch
    redirect_to @board
  end
  private
    def reply_params
      params.require(:reply).permit(:name, :email, :subject, :comment, :reply_file)
    end
end

尝试通过董事会确定您的 Post.find 范围:

@post = @board.posts.friendly.find params[:post_id]