2016-03-07 17 views
0

在Rails 3中,我们可以使用update_attributes如下轨道4:用不同的角色update_attributes方法

@customer.update_attributes(params[:customer], :as => :default) 
or 
@customer.update_attributes(params[:customer], :as => :admin) 

,我们的属性访问将被定义为

attr_accessible :fname, :lname, :as => [:default, :admin] 
attr_accessible :status, :as => [:admin] 

但在轨道4,5,update_attributes方法不接受第二个参数。那么我怎样才能将上面的代码转换为rails 4?

我想是这样的

@customer.update_attributes(customer_params) 

private 
    def customer_params 
    params.require(:customer).permit(:fname, :lname, :status) 
    end 

但我不知道如何通过在轨道4,5的作用,同时更新的属性。我不能做这样的事情。

@customer.update_attributes(customer_params, :as => :admin) 

这是不允许的轨道4.所以我怎么能在轨道4做类似的事情?

回答