我今晚在部署时遇到了一些问题,我正试图尽快解决这个问题
我不知道为什么会这样。在本地一切正常,但在heroku上却不行。在研究之后,我尝试了各种不同的修复方法,但我可能不得不完全重命名这个类 CommentsController(希望这有效)。最好的方法是什么?我对 Rails 很陌生,所以我需要一些帮助来正确更改这些内容。
这是 CommentsController 的样子,仅供参考:
class CommentsController < ApplicationController
def new
@post = Post.new(params[:post])
end
def show
@comment = Comment.find(params[:id])
respond_to do |format|
format.js
end
end
def create
@post = Post.find(params[:post_id])
@comment = Comment.new(params[:comment])
@comment.micropost = @post
@comment.user = current_user
if @comment.save
redirect_to(:back)
else
render partial: 'shared/_comment_form', locals: { post: @post }
end
end
end
评论与每个帖子相关联(用户可以对帖子发表评论)。如果需要,我也会发布其他代码。
这是heroku日志中的错误
2013-04-09T05:55:19.454545+00:00 app[web.2]: /app/app/controllers/comments_contr
oller.rb:1:in `<top (required)>': superclass mismatch for class CommentsControll
er (TypeError)
路由.db
SampleApp::Application.routes.draw do
resources :posts, :path => "posts"
resources :users do
resources :messages do
collection do
post :delete_selected
end
end
end
ActiveAdmin.routes(self)
devise_for :admin_users, ActiveAdmin::Devise.config
resources :users do
member do
get :following, :followers
end
end
resources :sessions, only: [:new, :create, :destroy]
resources :posts, only: [:create, :destroy]
resources :relationships, only: [:create, :destroy]
resources :posts do
resources :comments
end
root to: 'static_pages#home'
match '/signup', to: 'users#new'
match '/signin', to: 'sessions#new'
match '/signout', to: 'sessions#destroy', via: :delete
match '/post', to: 'static_pages#post'
match '/post1', to: 'static_pages#post1'
match '/faq', to: 'static_pages#faq'
match '/review', to: 'users#review'
match "/posts/:id/review" => "posts#review"
end
当我在 rails app 文件夹中运行高级索引搜索时,出现了以下相关文件
- comments_controller.rb
- comments_helper.rb
- comments_helper_spec.rb
- comments_controller_spec.rb
- 3 migration files
- routes.rb (posted above)
- schema.rb (table called "active_admin_comments" and table called "comments')
- post.rb model (has_many :comments)
- user.rb model (has_many :comments)
- comment.rb model
- active_admin.rb in config/initializer (any instance where I find "comments" has been #'ed out")