2012-06-06 56 views
1

我一起使用Rails 3和Datamapper,除了設置多對多關係時,一切都很好。通過Rails使用Datamapper更新關係ORM

如果我通過Rails控制器試圖更新用戶我運行:

@user.update(params[:user]) 

在params爲一個role_ids集合。然而,當我通過這個通過我得到以下信息:

The attribute 'role_ids' is not accessible in User 

型號的用戶側的關係是這樣的:

has n, :roles, :through => Resource 

我看不到的問題是在這裏什麼 - 誰能幫忙?

回答

0

這意味着您的用戶模型中沒有「role_ids」字段 - 您的用戶模型中很可能有「resource_id」,這是正確的。 如果你有一個表單來接受用戶創建/修改內角色創建/修改,你將不得不宣佈在用戶是這樣的:

class User 
    accepts_nested_attributes_for :roles 
    attr_accessible :role_attributes