我的網址看起來像這樣username/project/project_members
用戶有很多項目,用戶和項目之間也有豐富的多對多關係。把它想象成github,一個用戶有很多回購站點,一個回購站點有很多合作者作爲用戶。強參數
我們做ProjectMember的新對象,我所能做的質量分配:
ProjectMember.create(user_id: params[:user_id], project_id: @project.id, role: params[:project_member][:role])
或者我可以這樣做:
@project.members << @member
@project.member_project(role: params[:project_member][:role])
可以這樣說,在這兩種情況下,我需要找到首先是@project和@member對象。要找到@member,我已經將user_id作爲隱藏字段傳遞,並且我的url找到了@project(請參見上圖)。我的表單看起來像:
- @users.each do |user|
= form_tag user_project_project_members_add_path(@project.user, @project) do
= label_tag 'username', user.username
= hidden_field_tag "user_id", user.id
= select('project_member', 'role', roles)
= submit_tag 'Add', :name => nil
這種類型的代碼會留下強烈的參數無用的。即我沒有用它來創建我的新project_member實例。 我應該擔心我沒有使用強烈的參數嗎?我想黑客可能是我將project_id作爲隱藏字段。我是否應該向後彎腰,以便使用強烈的參數?
gotcha!謝謝。 – sonalkr132