在我的项目中,单击复选框,使用 ajax 调用 getProducts 方法。它获取所有产品详细信息,但出现错误。
在我的 application.js 中是这样的:
function getProducts(siteid)
{
if(document.getElementById("cb_site"+siteid).checked==true)
{
var theURL = '/index_s/' + siteid;
$.ajax({
url: theURL
});
}
}
如果我尝试获取产品详细信息(控制器),例如
@products=ProductDetail.where("site_id=?",params[:siteid])
respond_to do |format|
format.html redirect_to @products.home
format.js
end
我收到错误
NoMethodError(未定义的方法 `home' for #)
如果我这样尝试(产品详细信息控制器)
@products=ProductDetail.find_by_site_id(params[:siteid])
respond_to do |format|
format.html redirect_to @products.home
format.js
end
我收到这样的错误:
NoMethodError(未定义的方法 `home' for #)
如果我这样尝试(product_details 控制器)
@products=ProductDetail.all
respond_to do |format|
format.html redirect_to @products.home
format.js
end
我收到错误
#<Array:0xb075138> 的未定义方法“home”
我有类似 home.html.erb 的观点
<div id="product_details">
<%= render 'index' %>
</div>
在 _index.html.erb 中显示产品
在 index.js.erb
$('#product_details').html('<%= escape_javascript render ('index') %>');
在路由器.rb
match "index_s/:siteid" => 'product_details#index'
请帮助我解决这个问题。