0

我正在使用 Rails 4 (api) 和 Angularjs 构建一个简单的博客应用程序来帮助学习 Angularjs。我已经花了 2 天时间让我的帖子模型与 Angularjs 进行通信。似乎我在尝试将帖子与用户关联时遇到了另一面墙(使用设计)。

我知道,当我构建这个应用程序时,我将使用外键&所以我很想听听其他使用 rails 和 angularjs 构建 SPA 的人的意见。我还尝试将 Angularjs 设置为尽可能接近地模仿 Rails。

你如何使用 Angularjs 和 Rails 处理关联?

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

先感谢您。

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

4

2 回答 2

1

How do you even get Devise helpers, such as current_user & user_signed_in? to work in Angularjs templates?

The simple answer is, you don't. There can be lots of philosophical debate on this subject, but essentially javascript is unsecure for this purpose because everything is available for a user to inspect in their browser.

If you want to associate a post with a user, you would be best to do so at the controller level in rails. Use current_user to set the user_id field on your Post (or whatever way you want to associate it).

I don't put any 'secure' functionality in my Angular apps.

Here's an example of how I do it in one of my apps where I associate the users organisation with a journey.

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

Oh, also in your Api::PostsController you need to call before_filter :authenticate_user! to be able to use current_user

于 2013-09-30T01:37:41.770 回答
0

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

一个 RESTful Rails api

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

上述 api 的 AngularJS 前端

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

于 2016-01-26T05:53:52.517 回答