rails observe_fields用于动态菜单

时间:2010-10-17 23:10:44

标签: ruby-on-rails

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

在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,只有一行

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

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

我该如何解决这个问题?感谢您提供任何指导

1 个答案:

答案 0 :(得分:0)

您需要停用此操作的布局

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