Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby on Rails在Post中的命名错误#show_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Ruby on Rails在Post中的命名错误#show

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

我一直在尝试基于此编写一个web博客应用程序。我得到一份工作 Ruby on Rails NoMethodError in Posts#点击帖子时显示错误

错误状态为:
“未定义的方法发布注释路径”
,行:

这在我的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请看我的答案,这是因为第一行不匹配。