我有两个型号
class Post < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :post
end
是否有一个外键会根据特定comments
中的post
的数量而增加(因此用户根据comment_id
看不到评论数量)?
例如,每个帖子的评论应该从索引1开始:
Post.find(1).comments.first.relative_id # 1
Post.find(2).comments.first.relative_id # 1
这使得路线成为可能:
# The total number of comments is hidden because comment_id is not used
get 'post/:post_id/comments/:relative_id' => 'comments#show'
Example:
/post/1/comments/1 would refer to Comment.find(1)
/post/2/comments/1 would refer to Comment.find(2)
答案 0 :(得分:0)
我建议你制作post/:post_id/comments/:comment_id
形式的网址,以便它们明确无误。
你仍然可以在网址中使用递增数字,我会看一下类似acts_as_list
gem(https://github.com/swanandp/acts_as_list)
您可能仍希望在内部使用普通ID,但您可以在网址中使用position
,只需确保它已在您的数据库中编入索引。