2014-10-31 36 views
0

我想渲染一個局部與本地人。除非傳遞的值永遠不會存儲在數據庫中,除非手動獲取控制器中的參數並將其保存,否則一切運行良好。爲什麼我需要在控制器中手動獲取參數?

查看:主題/ show.html.erb

<%= render :partial => 'linktags/form', locals: {linktag: @linktag, topic: @topics.id} %> 

部分:linktags/_form.html.erb

<%= hidden_field_tag(:post_id, topic) %> 

控制器:linktag_controller.rb

def create 
@linktag = Linktag.new(linktag_params) 
@linktag.post_id = params[:post_id] 
..... 
..... 
end 

那麼,爲什麼我是否需要獲取post_id參數以保存該值?爲什麼當我點擊提交時不能保存? post_id參數也是一個允許的參數。

def linktag_params 
    params.require(:linktag).permit(:url, :name, :favicon, :post_id) 
end 
+0

您可以發佈您的形式完整的代碼?因爲如果這是整個代碼,它將不起作用。 – 2014-10-31 03:21:55

回答

4

使用表單對象,因爲我相信你正在使用form_for

<%= f.hidden_field :post_id, :value => topic %>

+0

啊!這工作:)謝謝!定時器耗盡後會立即接受答案。 – 2014-10-31 03:26:54

+0

@SwaathiK你也應該upvote這個答案.. :-) – 2014-10-31 03:32:09

相關問題