将参数传递给'.js.erb'模板

时间:2012-06-19 17:01:15

标签: ruby-on-rails ruby-on-rails-3 erb

我想在Rails3应用程序中将一些参数传递给我的Javascript模板 我在respond_to块中尝试的是:

 respond_to do |format|
      format.js({:id=>params[:id]})
    end

我也尝试过:

 respond_to do |format|
      format.js(params[:id])
    end

我是否被迫将id作为js模板的实例变量来使用?如何在这里将变量传递给模板?

2 个答案:

答案 0 :(得分:23)

有效吗?

respond_to do |format|
  format.js { render "action", :locals => {:id => params[:id]} }
end

“action”是您的动作/模板名称(索引,显示等)

答案 1 :(得分:14)

作为替代方案,您可以在控制器中定义@variable,并且您应该能够在js.erb模板中访问它。那么你不需要将变量作为参数传递。