这是一个相当主观的问题。我正在寻找专家意见,因为这是我第一次构建企业rails应用程序。
我决定让我的网站完全基于AJAX,而我根本不使用Rails AJAX帮助程序。原因是:我是网络开发的新手,我想知道我写的代码背后发生了什么。
此外,这是一个相当大的基于仪表板的分析应用程序,我绝对不使用任何erb标记。所有数据都来自于使用AJAX。
因此,每当我需要任何数据时,我都会像这样编写一个rails路由
match "people/all" => "people#all"
respond_to do |format|
format.json { all json is rendered here }
end
同样适用于POST电话。
我做得对吗?
接下来我要做的就是添加CSRF令牌安全性(如果它不匹配,控制器将不再发送AJAX)
我还在此项目中为移动应用推送API,但API受密钥保护。
我知道也许像ember或微框架这样的东西可能是更好的选择,但我选择了rails,因为我的应用程序将具有大量功能,所以我坚持使用rails而不是潜入另一个框架。
所以,
在没有erb标签的情况下制作rails视图并使用AJAX完成所有操作是否有些不好?
我的应用程序是否会以任何方式受到攻击?
感谢。
答案 0 :(得分:1)
你不应该自己做这些,Rails会为你做这件事,包括处理CSRF令牌。您的应用程序控制器应该已经这样做了。
在路线中使用resources :people
。 “吸引所有人”的路线应该只是/people
,而不是/people/all
。
检查一个脚手架生成的控制器,以确定您的路由应如何映射到七个默认的RESTful操作。