我有两个模型博客和评论。博客包含多条评论,评论只能属于1博客。
用于显示API 博客/ 2 /评论/ 1
我必须在评论控制器
中使用以下代码def show
@blog = Blog.find(params[:blog_id])
@comments = @blog.comments
@comment = @comments[params[:id].to_i - 1]
end
我觉得这段代码非常笨拙,尤其是最后一段@comments[params[:id].to_i - 1]
。我必须将参数id转换为整数,然后更改为基于0的数组索引。任何重构都可以在这里发生
答案 0 :(得分:0)
你的意思是让它看起来更像" Rails"?喜欢这个?
def show
@blog = Blog.find(params[:blog_id])
@comment = @blog.comments.find params[:id]
end
根据OP的评论。您的转型是必要。但是,您可以避免加载整个注释集,只选择您需要的注释。
@comment = @blog.comments.offset(params[:id].to_i - 1).limit(1)