Rails + Angularjs:使用JSON传递user_id

时间:2013-09-30 01:14:09

标签: ruby-on-rails angularjs devise

我正在使用Rails 4(api)& amp;创建一个简单的博客应用程序。 Angularjs帮助学习Angularjs。我已经花了两天时间让我的帖子模型与Angularjs沟通。看起来我试图将帖子与用户关联起来(使用Devise)。

我知道,当我继续使用此应用程序时,我将使用外键和所以我很乐意听到其他人使用rails& amp; angularjs。我还尝试将Angularjs设置为尽可能接近地模仿Rails。

如何使用Angularjs& amp;导轨吗

你如何获得Devise助手,例如current_user& user_signed_in?在Angularjs模板中工作?

提前谢谢。

如果您需要,我可以添加更多详细信息。我真的不知道去哪里(我是Rails& Angularjs的新手)

2 个答案:

答案 0 :(得分:1)

  

你如何获得Devise助手,例如current_user&   user_signed_in?在Angularjs模板中工作?

简单的答案是,你没有。关于这个问题可能会有很多关于哲学的争论,但基本上javascript是不安全的,因为用户可以在浏览器中查看所有内容。

如果要将帖子与用户关联,最好在rails中的控制器级别执行此操作。使用current_user设置user_id上的Post字段(或您希望将其关联的任何方式)。

我没有在Angular应用程序中添加任何“安全”功能。

以下是我在我的一个应用程序中执行此操作的示例,其中我将用户组织与旅程相关联。

def create
    @journey = Journey.new(params[:journey])
    @journey.organisation = current_user.organisation
    if @journey.save
      render json: @journey
    else
      head :error
    end
end

哦,同样在你的Api :: PostsController中,你需要致电before_filter :authenticate_user!才能使用current_user

答案 1 :(得分:0)

这两个存储库就是一个很好的例子:

a RESTful Rails api

  

此存储库包含一个完整的RESTful rails-api以及一个干净的文档,可以引导开发人员完成所有构建步骤。如果您希望从rails上的ruby开始,这个存储库对您来说是一个很好的资源。

<强> AngularJS front-end for the above api

  

此存储库包含一个完整的RESTful AngularJs Web应用程序以及一个干净的文档,可以引导开发人员完成所有构建步骤。如果您希望从AngularJs开始,这个存储库对您来说是一个很好的资源。