我有一个带有帖子的表,它的架构看起来像
id | post_id | title | body | etc...
现在,当我使用
Post.find(params[:id])
它搜索不是我想要的id 列,因为我显示的是唯一的 post_id
而不是id
...
那么我怎样才能确保将在列Post.find()
中搜索呢?post_id
我有一个带有帖子的表,它的架构看起来像
id | post_id | title | body | etc...
现在,当我使用
Post.find(params[:id])
它搜索不是我想要的id 列,因为我显示的是唯一的 post_id
而不是id
...
那么我怎样才能确保将在列Post.find()
中搜索呢?post_id
Post.find_by_post_id(params[:id]
此外, Model.find 与您的主键相关联。如果您可以使用 post_id 作为 primary_key,那么您可以告诉 rails post_id 是这样的:
self.primary_key = :post_id
假设您的意思是(post_id
不bucket_id
符合您的其余描述)使用:
Post.where( "post_id = #{params[:id]}").first
注意:.first
既然你提到它是独一无二的。
除非您想重写 ActiveRecord .find 方法,否则只需使用
Post.where(:post_id => id)