我不知道這是否是你問什麼的,但你可以做這樣的事情......讓您的用戶模型中的虛擬訪問的評論:
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