我有兩個型號,組和用戶軌道 - 混淆路由,而params
用戶belongs_to的集團和 集團的has_many用戶
在我組/ show.html.erb我有用戶先簽後換表單
<h1>Create user</h1>
<%= form_for @user do |f| %>
<%= render 'shared/error_messages', :object => f.object %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %><br />
<%= f.password_field :password %>
</div>
<div class="field">
<%= f.label :password_confirmation, "Confirmation" %><br />
<%= f.password_field :password_confirmation %>
</div>
<div class="actions">
<%= f.submit "Sign up" %>
</div>
<% end %>
拿到小組和用戶之間的關係,我在我的用戶控制器創建方法如下
def create
@group = Group.find(params[:group][:id])
@user = @group.users.build(params[:user])
if @user.save
flash[:success] = "You have created a new user"
redirect_to group_path
else
@title = "Create user"
render 'new'
end
end
我也曾嘗試: @group = Group.find(PARAMS [:ID])
和
@group = Group.find(PARAMS [:GROUP_ID])
但我仍然出現錯誤
本質上,我想在group/show.html.erb中創建新用戶,並將該用戶與創建用戶的組相關聯。例如,如果用戶是以組/ 3創建的,那麼如何在控制器中將我的創建方法設置爲用戶以確保此關係成立?
一般來說,我一直在關注Hartl Rails教程手冊http://ruby.railstutorial.org/chapters/user-microposts#sec:creating_microposts,並遵循表單和創建方法。然而,我不知道如何獲得組/ 3的參數進入查找方法,如@group = Group.find(?????)
有人請賜教,這個問題一直困擾我一個現在幾天。
在此先感謝
我有一種感覺,我可能需要在窗體中使用hidden_field_tag,以通過group.id但不知道如何做到這一點 – Zakoff 2011-05-16 21:23:14