我想做的經典類別 - >子類鏈接下拉列表(選擇類別中的東西,填充子類別)。
代碼我已經在所有的瀏覽器中工作,除了IE(自然)。
這裏是我使用的JS代碼:
$("body select#category").data_binding({
child: "select#company_subcategory_id",
url: "subcategories",
});
[ . . . ]
data_binding: function(options)
{
$(this).change(function()
{
$.getJSON("/"+ options.url +"/",
{ id: $(this).val(), ajax: 'true'},
function(j)
{
for (var i = 0; i < j.length; i++)
{
options += '<option value="' + j[i].optionValue + '">';
options += j[i].optionDisplay;
options += '</option>';
}
$(child).html(options);
});
});
}
小類控制器
class SubcategoriesController < ApplicationController
layout 'application'
def index
@subcategories = Subcategory.find_all_by_category_id(params[:id])
respond_to do |format|
format.js {render :json => @subcategories.collect {|sc| {:optionValue => sc.id,
:optionDisplay => sc.name} }.to_json }
end
end
def show
@subcategory = Subcategory.category_permalink_like(params[:category]).
permalink_like(params[:subcategory]).first
@with_banner = @subcategory.companies.active.with_banner
@without_banner = @subcategory.companies.active.without_banner
end
end
我拖尾development.log文件,當我使用任何瀏覽器除了IE以外的日誌顯示
Processing SubcategoriesController#show (for 192.168.1.70 at 2010-08-26 01:49:06) [GET]
Parameters: {"id"=>"4", "_"=>"1282805337516", "show_type"=>"available_banners"}
但是當我使用IE我得到
Processing SubcategoriesController#create (for 192.168.1.70 at 2010-08-26 01:50:09) [POST]
Parameters: {"ajax"=>"true", "authenticity_token"=>"Eg2XAvSSHg/v12cKjTPt+HkKWhxdGW3s5n6lm9jHu2A=", "id"=>"6"}
沒有定義的創建操作,所以它崩潰。
我不知道這是爲什麼不同的解釋:/
有什麼建議?
謝謝!
SubcategoriesController#create是什麼樣子的? – Tom 2010-08-26 06:58:06
沒有子類別控制器#創建 它不應該被調用:/ – 2010-08-26 16:02:46