投稿のあるテーブルがあり、そのスキーマは次のようになります
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 として使用できる場合は、post_id が次のようになっていることを Rails に伝えることができます。
self.primary_key = :post_id
post_id
代わりにbucket_id
(これはあなたの説明の残りの部分に適合しません)使用することを意味すると仮定します:
Post.where( "post_id = #{params[:id]}").first
注:.first
あなたが言及したので、それはユニークです。
ActiveRecord .find メソッドを書き換えたくない場合は、そのまま使用してください。
Post.where(:post_id => id)