我目前的帖子模型使用friendly_id将Post.id
替换为Post.pid
:
friendly_id :pid, :use => :scoped, :scope => :id
如何获取帖子的实际ID而不是slug,以便在回复保存时将Post.id
而不是Post.slug
保存到Reply.post_id
。
我需要这样做,因为由于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
答案 0 :(得分:1)
尝试通过董事会确定您的Post.find
:
@post = @board.posts.friendly.find params[:post_id]