[英]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]
在您的部分中,您將可以使用變量a
和b
。
或者,如果params[:data]
具有一個簡單值,則可以定義自己的變量:
params[:data] = 'something'
render "partials/foo", my_variable: params[:data]
在您的部分中,您將可以使用my_variable
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.