2015-06-28 35 views
1

我當前正試圖在未經許可的參數發佈在我的RoR後端時引發錯誤。我包含了在不允許的參數上引發錯誤rails

config.action_controller.action_on_unpermitted_parameters = :raise 

在我的development.rb配置中。現在,例如我在我的控制器之一:

def apiary_params 
    params.require(:apiary).permit(:name, :municipality, :prefecture, :latitude, :longitude, :numberofbeehives, :notes) 
end 

如果我現在嘗試張貼的另一個參數可以說,「養蜂場[ASDF]」,那麼內部服務器錯誤,正確地提高。但是,如果我嘗試發佈不在蜂房哈希中的隨機「asdf」參數,則請求處理時不會出現錯誤。這是否意味着隨機的「asdf」和其他不在蜂房中的參數是允許的?我該如何解決這個問題?

回答

1

不,這些額外的參數是不允許的 - 它們被默默丟棄。

您只需撥打permitparams.require(:apiary),即params[:apiary],因此只有該哈希中的額外屬性纔會引發異常。

只要您調用params.require調用,那麼提交的所有其他參數變得與此方法的返回值無關。你只處理那個params[:apiary]散列中的數據,這就是返回的內容。

相關問題