2012-05-22 43 views
0

我有這些資源在routes.rb。主題下的評論。渲染形式與route_helper錯誤

namespace :discuss do 
    resources :topics, :as => :topic do 
     resources :comments, :as => :comment 
    end 
    end 

而且具有_form.html.erb

<%= form_for(@topic) do |f| %> 

    <div class="field"> 
    <%= f.label :title %> 
    <%= f.text_field :title %> 
    </div> 
    <div class="actions"> 
    <%= f.submit %> 
    </div> 

<% end %> 

當渲染這種形式得到了錯誤 未定義的方法`topics_path」的......周圍線<%=的form_for(@topic) do | f | %>

耙路線

discuss_topic_comment_index GET /discuss/topics/:topic_id/comments(.:format)   discuss/comments#index 
          POST /discuss/topics/:topic_id/comments(.:format)   discuss/comments#create 
    new_discuss_topic_comment GET /discuss/topics/:topic_id/comments/new(.:format)  discuss/comments#new 
edit_discuss_topic_comment GET /discuss/topics/:topic_id/comments/:id/edit(.:format) discuss/comments#edit 
     discuss_topic_comment GET /discuss/topics/:topic_id/comments/:id(.:format)  discuss/comments#show 
          PUT /discuss/topics/:topic_id/comments/:id(.:format)  discuss/comments#update 
          DELETE /discuss/topics/:topic_id/comments/:id(.:format)  discuss/comments#destroy 
     discuss_topic_index GET /discuss/topics(.:format)        discuss/topics#index 
          POST /discuss/topics(.:format)        discuss/topics#create 
      new_discuss_topic GET /discuss/topics/new(.:format)       discuss/topics#new 
     edit_discuss_topic GET /discuss/topics/:id/edit(.:format)     discuss/topics#edit 
       discuss_topic GET /discuss/topics/:id(.:format)       discuss/topics#show 
          PUT /discuss/topics/:id(.:format)       discuss/topics#update 
          DELETE /discuss/topics/:id(.:format)       discuss/topics#destroy 
        discuss  /discuss(.:format) 

我控制器應用程序/控制器/討論/ topics_controller.rb

module Discuss 
    class TopicsController < ApplicationController 
     def new 
      @topic = Topic.new 

      respond_to do |format| 
      format.html # new.html.erb 
      format.json { render json: @topic } 
      end 
     end 
     ... some other actions ... 
    end 
end 

我做錯了這種形式是什麼?

回答

0

嘗試更換:

<%= form_for(@topic) do |f| %> 

有:

<%= form_for [:discuss, @topic] do |f| %> 
+0

它的工作原理,感謝幫助。 – wildDAlex