我有一个包含帖子的表,其架构看起来像
id | post_id | title | body | etc...
现在,当我使用
时 Post.find(params[:id])
搜索 id列这不是我想要的,因为我显示唯一 post_id
而不是{{ 1}} ...
那么如何确保id
会在Post.find()
列中搜索?
答案 0 :(得分:2)
Post.find_by_post_id(params[:id]
此外,Model.find与您的主键绑定。 如果你可以使用post_id作为primary_key,那么你可以告诉rails post_id是这样的:
self.primary_key = :post_id
答案 1 :(得分:0)
假设您的意思是post_id
而不是bucket_id
(不符合您的描述的其余部分),请使用:
Post.where( "post_id = #{params[:id]}").first
注意:.first
因为您提到它是唯一的。
答案 2 :(得分:-1)
除非你想重写ActiveRecord .find方法,否则只需使用
Post.where(:post_id => id)