簡體   English   中英

如何實現為:軌道3到軌道4的attr_accessible參數

[英]How implement as: parameter of attr_accessible of rails 3 to rails 4

我剛剛從Rails 3升級到Rails 4.2。 到目前為止,除了attr_accessible存在問題之外,其他所有功能都可以正常工作。 以前在rails 3中,我通過:as參數定義了一些attr_accessible ,如下所示

attr_accessible :customer_id,:country_id, :city_id, :user_id, :as => [:default, :admin]
attr_accessible :archive, :as => :admin

現在,在Rails 4中,我可以在控制器中執行類似的操作,並根據用戶是否為admin更新/ create。 但是我想知道是否有更好的方法或標准方法來做到這一點? 還是這是正確的方法?

private

def products_params
  params.require(:product).permit(:customer_id,:country_id, :city_id, :user_id)
end

def products_params_admin
  params.require(:product).permit(:customer_id,:country_id, :city_id, :user_id, :archive)
end

將此添加到您的Gemfile以再次具有attr_accessible

gem 'protected_attributes'

IMO對於穩定項目是一種合理的方式,但是強大的參數更加靈活,例如,可以根據對象狀態傳遞屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM