簡體   English   中英

Rails使用控制器中參數的數據渲染部分數據

[英]Rails render partial with data from params in controller

我正在嘗試從控制器渲染部分代碼(向控制器的ajax請求渲染部分代碼,以便JS可以插入DOM)。

部分代碼很簡單。 它需要一個對象

視圖

= render "partials/foo", object: @bar

部分的

= object.name

從視圖來看,這很好。 但是當我從控制器嘗試此操作(將params作為對象傳遞)時,我得到了錯誤的未定義變量object

控制者

render "partials/foo", object: params[:data]

params[:data]只是一個hash

小心:object ,因為它會期望一個與部分變量同名的變量(減去下划線)。 您可以使用:as選項重命名該變量。

如果您設置了render partial: "foo", object: @foo ,則在partial中將有一個變量foo

它與render partial: "foo", locals: { foo: @foo }


您可以使用:locals ,因此可以在局部對象中設置對象的哈希。 假設params[:data]是一個哈希:

params[:data] = {a: 'something', b: 'another thing'}
render "partials/foo", locals: params[:data]

在您的部分中,您將可以使用變量ab


或者,如果params[:data]具有一個簡單值,則可以定義自己的變量:

params[:data] = 'something'
render "partials/foo", my_variable: params[:data]

在您的部分中,您將可以使用my_variable

暫無
暫無

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

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