0

我在 routes.rb 中有这些资源。主题下的评论。

  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 %>

渲染此表单时出现错误 undefined method `topics_path' for... around line <%= 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)

我的控制器 app/controllers/discuss/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

我在这张表格上做错了什么?

4

1 回答 1

0

尝试替换:

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

和:

<%= form_for [:discuss, @topic] do |f| %>
于 2012-05-22T07:35:51.673 回答