我有以下嵌套資源:嵌套資源的強參數?
resources :sources do
resource :category_pages
end
當我在category_pages的形式,我有這樣的:
<%= form_for [params[:source_id], @category_page], url: source_category_pages_path do |form| %>
<%= render partial: 'form', locals: { form: form } %>
<% end %>
我想知道怎樣才能確保該SOURCE_ID是在我的控制器中的參數。我曾嘗試過:
def create
@category_page = CategoryPage.new(category_page_params)
end
def category_page_params
params.require(:category_page).permit(:name, :url, :source_id)
end
但我不斷收到一個錯誤,指出'source_id'不能爲空。在這種情況下,我應該如何使用強參數?
我也試過這樣:
def category_page_params
params.require(:category_page, :source_id).permit(:name, :url)
end
因爲SOURCE_ID不是category_page PARAMS內,但顯然需要的只是接受一個參數。 PARAMS其實是這樣的:
{"utf8"=>"✓", "authenticity_token"=>"...=", "category_page"=>{"name"=>"", "url"=>""}, "commit"=>"Add Category Page", "action"=>"create", "controller"=>"category_pages", "source_id"=>"1"}