【发布时间】:2014-03-03 09:45:50
【问题描述】:
谁能帮我解决这个问题?提前致谢! 我收到以下错误:
NoMethodError in Discussions#new
Showing C:/Users/punitha/aggregator/app/views/discussions/_form.html.erb where line #1 raised:
undefined method `discussions_index_path' for #<#<Class:0x4375758>:0x437d6d8>
Extracted source (around line #1):
1 <%= form_for @discussions do |f| %>
2 <% if @discussions.errors.any? %>
3 <div id="error_explanation">
4 <h2><%= pluralize(@discussions.errors.count, "error") %> prohibited
模板包含的痕迹:app/views/discussions/new.html.erb
Rails.root:C:/Users/punitha/aggregator
Application Trace | Framework Trace | Full Trace
app/views/discussions/_form.html.erb:1:in `_app_views_discussions__form_html_erb___1058370717_35436840'
app/views/discussions/new.html.erb:3:in `_app_views_discussions_new_html_erb__298093787_35389404'
而文件_form.html.erb是
<%= form_for @discussions do |f| %>
<% if @discussions.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@discussions.errors.count, "error") %> prohibited
this discussion from being saved:</h2>
<ul>
<% @discussions.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<p>
<%= f.label :source_url %><br>
<%= f.text_field :source_url %>
</p>
<p>
<%= f.label :discussion_id %><br>
<%= f.text_area :discussion_id %>
</p>
<p>
<%= f.label :discussion_msg %><br>
<%= f.text_area :discussion_msg %>
</p>
<p>
<%= f.label :discussion_type %><br>
<%= f.text_field :discussion_type %>
</p>
<p>
<%= f.label :discussion_link %><br>
<%= f.text_area :discussion_link %>
</p>
<p>
<%= f.label :discussion_thumb %><br>
<%= f.text_area :discussion_thumb %>
</p>
<p>
<%= f.label :discussion_permalink %><br>
<%= f.text_area :discussion_permalink %>
</p>
<p>
<%= f.label :discussion_likecount %><br>
<%= f.number_field :discussion_likecount%>
</p>
<p>
<%= f.label :comment %><br>
<%= f.text_area :comment%>
</p>
<p>
<%= f.label :source_id %><br>
<%= f.number_field :source_id%>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
而我的 app/views/discussions/new.html.erb 是,
<h1>New discussion</h1>
<%= render 'form' %>
<%= link_to 'Back', discussions_path %>
routes.rb 文件
Aggregator::Application.routes.draw do
get "welcome/index"
root 'welcome#index'
resources:discussions do
resources :comments
end
end
【问题讨论】:
-
显然您正在调用未定义的路由。你能分享你的
routes.rb文件吗? -
在资源和讨论之间放置一个空格。
-
@punitha 你能在你定义
@discussions的地方发布控制器的动作吗?
标签: ruby-on-rails nomethoderror