1

我有一个带有帖子的表,它的架构看起来像

id | post_id | title | body | etc...

现在,当我使用

Post.find(params[:id])

搜索不是我想要的id 列,因为我显示的是唯一的 post_id而不是id...

那么我怎样才能确保将在列Post.find()中搜索post_id

4

3 回答 3

2
Post.find_by_post_id(params[:id]

此外, Model.find 与您的主键相关联。如果您可以使用 post_id 作为 primary_key,那么您可以告诉 rails post_id 是这样的:

self.primary_key = :post_id
于 2012-08-19T01:35:39.213 回答
0

假设您的意思是(post_idbucket_id符合您的其余描述)使用:

Post.where( "post_id = #{params[:id]}").first

注意:.first既然你提到它是独一无二的。

于 2012-08-18T22:28:19.777 回答
-1

除非您想重写 ActiveRecord .find 方法,否则只需使用

Post.where(:post_id => id)
于 2012-08-18T22:23:39.837 回答