Ruby on rails Ruby on Rails在Post中的命名错误#show
我一直在尝试基于此编写一个web博客应用程序。我得到一份工作 Ruby on Rails NoMethodError in Posts#点击帖子时显示错误 错误状态为:Ruby on rails Ruby on Rails在Post中的命名错误#show,ruby-on-rails,ruby,Ruby On Rails,Ruby,我一直在尝试基于此编写一个web博客应用程序。我得到一份工作 Ruby on Rails NoMethodError in Posts#点击帖子时显示错误 错误状态为:“未定义的方法发布注释路径”,行: 这在我的app/views/posts/show.html.erb脚本中。该脚本如下所示: <p id="notice"><%= notice %></p> <%= render :partial => @post %> <%
“未定义的方法发布注释路径”
,行:
这在我的app/views/posts/show.html.erb脚本中。该脚本如下所示:
<p id="notice"><%= notice %></p>
<%= render :partial => @post %>
<%= link_to 'Edit', edit_post_path(@post) %> |
<%= link_to 'Back', posts_path %>
<h2>Comments</h2>
<div id="comments">
<%= render :partial => @post.comments %>
</div>
<%= form_for [@post, Comment.new] do |f| %>
<p>
<%= f.label :body, "New comment" %><br/>
<%= f.text_area :body %>
</p>
<p><%= f.submit "Add comment" %></p>
<% end %>
QuickBlog::Application.routes.draw do
resources :posts do
resources :comments, :only => [:create]
end
# root :to => 'welcome#index'
devise_for :users
root "pages#home"
get "about" => "pages#about"
end
但我无法使用此配置加载服务器。相反,我的路由文件是:
Rails.application.routes.draw do
resources :comments
resources :posts
devise_for :users
root "pages#home"
get "about" => "pages#about"
end
任何关于如何修复此问题的帮助都将不胜感激,因为我还没有发现与此错误相关的具有类似问题的其他页面
当我将routes.rb文件更新为与教程相同时,如下所示:
<p id="notice"><%= notice %></p>
<%= render :partial => @post %>
<%= link_to 'Edit', edit_post_path(@post) %> |
<%= link_to 'Back', posts_path %>
<h2>Comments</h2>
<div id="comments">
<%= render :partial => @post.comments %>
</div>
<%= form_for [@post, Comment.new] do |f| %>
<p>
<%= f.label :body, "New comment" %><br/>
<%= f.text_area :body %>
</p>
<p><%= f.submit "Add comment" %></p>
<% end %>
QuickBlog::Application.routes.draw do
resources :posts do
resources :comments, :only => [:create]
end
# root :to => 'welcome#index'
devise_for :users
root "pages#home"
get "about" => "pages#about"
end
我在终端中接收到错误:
routes.rb:1:in `<top (required)>': uninitialized constant QuickBlog (NameError)
routes.rb:1:in`:未初始化的常量QuickBlog(NameError)
我的意见是:
class CommentsController < ApplicationController
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create!(comment_params)
redirect_to @post
end
private
def comment_params
params.require(:comment).permit(:body)
end
end
class CommentsController
将routes.rb文件更新到此位置。教程中routes.rb出现的错误是因为它使用的是应用程序名,而不是Rails.application.routes.draw
。这在Rails 4.1中有所改变
Rails.application.routes.draw do
resources :posts do
resources :comments, :only => [:create]
end
# root :to => 'welcome#index'
end
将routes.rb文件更新到此位置。教程中routes.rb出现的错误是因为它使用的是应用程序名,而不是
Rails.application.routes.draw
。这在Rails 4.1中有所改变
Rails.application.routes.draw do
resources :posts do
resources :comments, :only => [:create]
end
# root :to => 'welcome#index'
end
将routes.rb文件更新到此位置。教程中routes.rb出现的错误是因为它使用的是应用程序名,而不是
Rails.application.routes.draw
。这在Rails 4.1中有所改变
Rails.application.routes.draw do
resources :posts do
resources :comments, :only => [:create]
end
# root :to => 'welcome#index'
end
将routes.rb文件更新到此位置。教程中routes.rb出现的错误是因为它使用的是应用程序名,而不是
Rails.application.routes.draw
。这在Rails 4.1中有所改变
Rails.application.routes.draw do
resources :posts do
resources :comments, :only => [:create]
end
# root :to => 'welcome#index'
end
显示您的控制器。。Please@Connor请看我的答案,这是因为第一行不匹配。显示控制器。。Please@Connor请看我的答案,这是因为第一行不匹配。显示控制器。。Please@Connor请看我的答案,这是因为第一行不匹配。显示控制器。。Please@Connor请看我的答案,这是因为第一行不匹配。