Mi sono imbattuto in qualche problema stasera durante la distribuzione e sto cercando di ottenere questo corretto al più prestomancata corrispondenza della superclasse per la classe CommentsController (TypeError), miglior modo per rinominare?
Non ho idea del motivo per cui questo sta accadendo. Tutto funziona bene localmente ma non su heroku. Ho provato tutti i tipi di correzioni diverse dopo la ricerca, ma potrei dover ricorrere a rinominare completamente questo CommentController di classe (spero che funzioni). Qual è il modo migliore per farlo? Sono abbastanza nuovo di Rails quindi ho bisogno di aiuto per fare in modo che questi cambiamenti siano corretti.
Ecco ciò che il CommentsController appare come FYI:
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
commenti sono associati a ciascun posto (gli utenti sono in grado di commentare i post). Pubblicherò anche altri codici se necessario.
Ecco l'errore da tronchi 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)
Routes.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
quando mi sono imbattuto ricerca avanzata indicizzata all'interno delle rotaie cartella app, qui sono stati i file rilevanti che si avvicinò
- 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")
Avete 'CommentsController' dichiarato in altri file nella vostra app? –
Puoi aggiornare la domanda con Routes. –
l'unica cosa che ho modificato nelle rotte dall'ultima implementazione (funzionante) è l'aggiunta di questa corrispondenza di riga '"/posts /: id/review "=>" post # review "' – syk