Problem with unsaved commenti

I use Device as Utente model, I have a sort of blog composed of controllers and model Messaggi and controllers model Commenti. The Messaggi work and are saved through Utente ID, while I can’t solve the problem for the saving of Commenti. Even if it doesn’t display any error.

my MessaggiController

class MessaggiController < ApplicationController
before_action :authenticate_utente!

def index
argo = params[:argo]
if !argo.nil?
messaggi = Messaggio.where(:argomento_id => argo)
argomento = Argomento.where(:id => argo).first.argomento
else
messaggi = Messaggio.all
end
argomenti = Argomento.all
end

def show
messaggio = Messaggio.find(params[:id])
commento = Commento.new
commento.messaggio_id = messaggio.id
end

def new
messaggio = current_utente.messaggi.build
commento = Commento.new
commento.messaggio_id = messaggio.id
end

def create
messaggio = current_utente.messaggi.build(messaggio_params)

respond_to do |format|
  	if messaggio.save
      format.html { redirect_to messaggio, notice: 'Messaggio was successfully created.' }
  	format.json { render :show, status: :created, location: messaggio }
	else
    format.html { render :new }
      format.json { render json: messaggio.errors, status: :unprocessable_entity }
	end
  end

end

def edit
messaggio = Messaggio.find(params[:id])
end

def update
messaggio = Messaggio.find(params[:id])
respond_to do |format|
if messaggio.update(messaggio_params)
format.html { redirect_to messaggio, notice: ‘Messaggio was successfully updated.’ }
format.json { render :show, status: :ok, location: messaggio }
else
format.html { render :edit }
format.json { render json: messaggio.errors, status: :unprocessable_entity }
end
end
end

def destroy
messaggio = Messaggio.find(params[:id])
messaggio.destroy
respond_to do |format|
format.html { redirect_to messaggi_url, notice: ‘Messaggio was successfully destroyed.’ }
format.json { head :no_content }
end
end

private

  def messaggio_params
  	params.require(:messaggio).permit(:titolo, :testo, :argomento_id, :utente_id)
  end

end

My CommentsController

class CommentiController < ApplicationController

    before_action :find_commento, only: [:create, :destroy]    
    before_action :commento_auth, only: [:destroy]    

    def create    
        #@post = Post.find(params[:post_id])    
        #@comment = @post.comments.create(params[:comment].permit(:name, :body))    
        #redirect_to post_path(@post)

        #new format    
        @messaggio = Messaggio.find(params[:messaggio_id])    
        #post = current_user.posts.build(post_params)    
        commento = current_utente.commenti.build(commento_params)    
        redirect_to messaggio_path(messaggio)    
    end   

    def destroy    
       commento = messaggio.commenti.find(params[:id]).destroy    
        redirect_to messaggi_path  
    end    

    private    

    def commento_params    
        params.require(:commento).permit(:testo, :commento_id, :utente_id)    
    end   

    def find_commento    
        messaggio = Messaggio.find(params[:messaggio_id])    
    end   

    def commento_auth    
        if current_utente != messaggio.utente    
        redirect_to(messaggi_path)   
        end    
    end     

end

and my relationship
Utente.rb
has_many :messaggi
has_many :commenti

Messaggio.rb
belongs_to :utente
has_many :commenti

Commenti.rb
belongs_to :utente
belongs_to :messaggio

Thanks a lot for helping.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs