如何解决Ruby / Rails-嵌套资源的AJAX分页-如何确定父资源?
| 我的模型有Posts
,Users
和Comments
。用户可以在帖子上/关于帖子发表评论。
每个评论都属于一个用户和一个帖子。
因此,Comment模型具有一个“ 3”字段和一个“ 4”字段。
查看ѭ5时,我想在该帖子的评论中进行分页。
查看ѭ6时,我想在该用户的注释中进行分页。
我想使用AJAX(通过Kaminari gem)进行分页。
我为两者都设置了嵌套路由。
在帖子中,被点击的网址是“ 7”
在用户上,被击中的URL是“ 8”
这两个URL都命中了Comment控制器的index操作。
我的问题是这样的:在index
动作中,如何确定所提供的ѭ10is是user_id
还是post_id
,以便检索所需的注释。
解决方法
在评论控制器中检查
params[:user_id]
和params[:post_id]
:
if params[:user_id]
#call came from /users/ url
elsif params[:post_id]
#call came from /posts/ url
else
#call came from some other url
end
, 我喜欢Ryan Bates的方式
class CommentsController
before_action :load_commentable
def index
@comments = @commentable.comments.page(params[:page])
end
private
def load_commentable
klass = [Post,User].detect { |c| params[\"#{c.name.underscore}_id\"] }
@commentable = klass.find(params[\"#{klass.name.underscore}_id\"])
end
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。