我不知道这是否是你问什么的,但你可以做这样的事情......让您的用户模型中的虚拟访问的评论:
def with_comment
if params[:user][:comment]
@comment = self.comments.build params[:user][:comment]
else
@comment = self.comments.build
end
end
def with_comment=(comment)
self.comments.build comment
end
然后在应用程序/视图/用户/注册/ new.html.erb:
<%= form_for(resource.with_comment(params),
:as => resource_name,
:url => registration_path(resource_name)) do |f| %>
<% f.fields_for :with_comment, resource.with_comment do |cf| %>
<% cf.text_area :message %>
...
我没有测试过这一点,但它是改编自我使用类似的工作代码。
这实际上是一个评论的用户形式加入。我只是让设计做到这一点,并尽量不去打击它。
你打算与用户模型领域做当用户没有登录怎么办?如果用户没有登录 – David
用户字段才会显示。如果他们登录,评论作者(用户)在评论控制器所指派“创建”。 –
也许我误解了你。如果用户未登录,您是否搜索具有相同电子邮件的用户并将他们指定为评论的作者?如果它们不存在会怎么样?或者你的意思是文章的作者被分配给评论(假设评论是在一篇文章中进行的)。 – David