2013-12-20 21 views
0

使用Rails 3.2,我有以下幾點:在Rails中,模型中的外鍵需要attr_accessible嗎?

# shop.rb 
class Shop < ActiveRecord::Base  
    has_many :nearby_shops 
    after_update :find_nearby_shops 

    def find_nearby_shops 
    NearbyShop.create(
     :shop_id => self.id, 
     :shop_type => "test", 
    ) 
    end 
end 

# nearby_shop.rb 
class NearbyShop < ActiveRecord::Base 
    attr_accessible :shop_id, :shop_type 
    belongs_to :shop 
end 

,我覺得有必要在attr_accessible申報shop_id得到shop_id保存,否則這將是空白。這種行爲是否正確?

回答

1

是的。否則,你可能會因爲你沒有使用質量分配方法(如create)來分配shop_id使用

def find_nearby_shops 
    self.nearby_shops.create(
    shop_type: "test" 
) 
end 

self.nearby_shops意志範圍的nearby_shops與當前店鋪,並繞過保護屬性。

相關問題