Rails 3协会

时间:2012-02-01 05:28:37

标签: ruby-on-rails ruby ruby-on-rails-3 associations

我正在尝试获取已登录用户的user_id。因此,用户将创建博客帖子,并在创建博客帖子时捕获用户的ID。

我知道如何使用嵌套资源执行此操作,但在创建没有嵌套资源的新博客文章时如何获取user_id?

路线看起来像这样

resources :blogs

我还尝试将隐藏字段添加到博客表单_blog.html.erb

<%= f.hidden_field :site_id, :value => @blog.site_id %>

正确设置关联我只是想看看如何在没有嵌套资源的情况下获取user_id。有什么建议?

2 个答案:

答案 0 :(得分:3)

在BlogsController #create方法中将当前登录用户的用户ID拉出。

示例(请注意,您访问user_id的方式取决于您如何进行身份验证)

class BlogsController < ApplicationController
  def create
    @blog = Blog.new params[:blog]
    @blog.user_id = current_user.id
    if @blog.save
      ...
    end
  end
end

答案 1 :(得分:1)

如果您使用devise / authlogic进行身份验证,那么您可以使用提供的current_user方法轻松获取user_id