2010-10-17 104 views
0

我想制作一个简单的嵌套动态菜单,其中子类别将根据我在类别中选择的内容显示。但是,为了使它非常简单,我只是想在子类别中呈现相同的东西,无论我选择“Home”还是“Job”(主要是显示“显示相同”的文本)rails动态菜单的observe_fields

In index。 RHTML我有此

<html> 
<head> 
     <%= javascript_include_tag :defaults %> 
</head> 
<body> 

<select id="categories" name="categories"> 
    <option value="1">Home</option> 
    <option value="2">Job</option> 
</select> 

<%= observe_field "categories", :update => "subcategories", 
:url => { :controller => "hello", :action => "getsubcategories" } %> 

<select id="subcategories" name="subcategories"> 
    <option> 
    </option> 
</select> 

</bod> 
</html> 

对于控制器,我这个

class HelloController < ApplicationController 

def index 
end 

def getsubcategories 
    puts "Got inside the controller" 
end 

end 

和getsubcategories.rhtml,仅存在1线

<option value="<%= subcategory.id %>"><%= "show the same" %> 

它显示指向layout.erb的错误,该错误无法在子类别菜单上正确呈现。我认识到这个错误很可能在getsubcategories.rhtml中,但我尝试了几种不同的方法,并且仍然是同样的错误。

我该如何解决这个问题?谢谢你的任何指导

回答

0

您需要desactivate布局,这个动作

def getsubcategories 
    render :getsubcategories, :layout => false 
end 
+0

啊谢谢!我还有一个问题,是否可以通过使用第一个表中的某些参数来更新第二个选择表。例如,选择表1(来自数据库)具有链接到选择表2(再次来自数据库)的键值。我从选择表1中选择了1个选项,而在选择表2中,只显示与选择表1具有相同键的数据库中的选项? – heike 2010-10-18 10:31:40

+0

如果我的回答很好,请接受它。如果你还有其他问题。提出了一个新问题。 – shingara 2010-10-18 11:33:05

+0

是的。谢谢。 – heike 2010-10-18 12:29:13