1

在我的應用程序,您:表單除了新屬性之外還創建已加載的屬性,我如何忽略第一個屬性?

  1. 有招牌上的管理員用戶和用戶有一定的作用(單獨的模型),然後我用declarative_authorization插件給進入某些地區。

  2. 該管理員用戶還可以在系統中註冊新用戶,當他們這樣做時(使用Authlogic),他們填寫包含新用戶角色的嵌套表單。

所以發生的是管理員用戶的角色正在由declarative_authorization加載,然後使用has_many_nested_attributes嵌套形式加載現有的角色,以及新用戶的新角色(用戶可有很多角色)。

有沒有一些方法,我可以告訴正在創建忽略分配給CURRENT_USER作用,只有在創建的形式作用,爲新用戶,新用戶?

我已經經歷了很多不同的東西看,但它似乎變得更加複雜,這些都是嵌套屬性。

在此先感謝。

回答

0

創建新用戶時,你爲什麼會創建一個新角色?我只會將新用戶分配給特定角色,而不是爲新用戶創建一堆新角色。

在你看來試試這個:

collection_select :user,"role_ids[]", Roles.all, :id, :name, {}, {:multiple=>true} 

,而不是Roles.all,你也可以使用

Roles.find(:conditions=>"role_name IS NOT 'admin'") 

排除 「管理員」 的角色。