我是红宝石新手,需要你的帮助。从红宝石上的其他模型传递参数
我一定要救一个“主题”,使它像这样:
@topic = Topic.new(params[:topic])
但我想传递的其它信息这个话题。它有一个将社区链接到社区的“community_id”字段。 登录的用户在他的桌子上有这些信息。
如何将记录的用户的“community_id”传递给创建的“topic”的“community_id”?
THX对您有所帮助
我是红宝石新手,需要你的帮助。从红宝石上的其他模型传递参数
我一定要救一个“主题”,使它像这样:
@topic = Topic.new(params[:topic])
但我想传递的其它信息这个话题。它有一个将社区链接到社区的“community_id”字段。 登录的用户在他的桌子上有这些信息。
如何将记录的用户的“community_id”传递给创建的“topic”的“community_id”?
THX对您有所帮助
@topic = Topic.new(params[:topic])
@topic.community = @user.community
@topic.save
这将创建一个你传递哈希参数的新主题对象。并将其定义为用户的社区。
有三种方法:(我做了你是如何从用户检索community_id猜测,这会不会是精确的)
@topic = Topic.new(params[:topic])
@topic.community = @user.community
或
@topic = Topic.new(params[:topic].merge(:community_id => @user.community_id))
或
@topic = @user.community.topics.new(params[:topic])
(此代码未经测试)
第二种假定community_id是attr_accessible。
第三个可能是更干净的方式来做到这一点,这是我如何做到这一点。但是,如果模型属于多个模型,则第二种方法很好。