Rails 3.0中可能渲染部分名稱存儲在變量中的部分?指定部分要使用變量渲染的鋼軌名稱
我試圖類似的東西:
<%= escape_javascript(raw render :partial => @partial_name, :locals => { :value => @value})%>
更新了更多的細節
在我的應用我有一組使用多表繼承車型,例如可以說我有一個基礎模型「杯形蛋糕」以及「AwesomeCupcake」和「AlrightCupcake」等變體。
這些模型中的每一個都有自己的顯示信息的自定義部分,並遵循命名方案:'_awesome_cupcake'和'_alright_cupcake'。
在頁面上,我有每種類型的杯形蛋糕的鏈接,我希望控制器接受一個參數並動態地派生出要渲染的部分。如果(在new.js.erb文件中)我用'awesome_cupcake'替換'@partial_name',下面的工作就像想要的一樣。
這裏是一個小的詳細信息到我的組件是如何佈局:
的application.js
$('#set_cupcake').click(function() {
$.getScript('/cupcakes/new.js?cupcake_type=awesome');
});
cupcakes_controller.rb
def new
cupcake_type = "#{params[:cupcake_type].capitalize}Cupcake"
if Object.const_defined? cupcake_type
@cupcake = cupcake_type.constantize.new
@partial_name = "#{params[:cupcake_type]}_cupcake"
end
end
的意見/蛋糕/new.js.erb
$('#cupcakes')
.append("<%= escape_javascript(raw render :partial => @partial_name, :locals => { :cupcake => @cupcake }) %>")
你有什麼問題? – jtbandes
我已經添加了關於我的情況的其他信息。謝謝! – jwarzech