ちょっとそこに、私は私の最初のRailsプロジェクトでネストされたセットのドラッグアンドドロップインターフェイスを実装しようとしています。私はレールに慣れていないので、我慢してください。私のコードは基本的にこのプロジェクトと同じです: http://gist.github.com/128779。私の問題はこの行の部分にあります:
<% for child in root.direct_children do %>
direct_children
のインスタンスメソッドであるNoMethodErrorを取得しているacts_as_nested_set
と思います。コンソールでモデルの新しいインスタンスを作成しようとすると、同様にacts_as_nested_set
インスタンスメソッドにアクセスできないため、問題は部分的なものではなく、モデルにあると思います。
繰り返しになりますが、私の用語が間違っている場合は申し訳ありませんが、私はRailsを初めて使用します。とにかく、私は何が間違っているのですか?acts_as_nested_set
上記の要点の例のように、モデルに「 」が含まれていますが、モデルがネストされたセットとして機能していないようです。これを修正するにはどうすればよいですか?
ありがとう!
私が使用しているモデル(todo.rb)のコードは次のとおりです。
class Todo < ActiveRecord::Base
acts_as_nested_set
end
そしてここに部分があります:
<% content_tag :li, :id => dom_id(root) do %>
<%= content_tag :span, root.text %>
<% content_tag :ul do %>
<% for child in root.direct_children do %>
<%= render :partial => "tree", :locals => {:root => child}%>
<%end %>
<%end unless root.direct_children.empty? %>
<%end%>
root
次のようなビューからパーシャルに渡されます。
<%= render :partial => "tree", :locals => {:root => @root} %>
次のようにコントローラーで@root
定義されます。
@root = Todo.find_by_parent_id(nil)
繰り返しになりますが、コードはほとんどの場合、上記の要点リンクからの変更をほとんど加えずに大規模にコピーされます。