2015-03-16 3 views
0

Я новый рельс и создавал простое приложение, в котором пользователь может добавлять сообщения, а затем добавлять комментарии к этим сообщениям. код для моделиданные не сохраняются в базе данных в rails

# == Schema Information 
# 
# Table name: comments 
# 
# id   :integer   not null, primary key 
# issue_id :integer 
# content :text 
# created_at :datetime 
# updated_at :datetime 
# 

class Comment < ActiveRecord::Base 



    belongs_to :issue 

end 

код для контроллера

class CommentsController < ApplicationController 


def create 
    @issue = Issue.find(params[:issue_id]) 
    @comment = @issue.comments.create(comment_params) 

    if @comment.save 
     redirect_to :controller => 'issues', :action => 'index' 
    else 
     render 'new' 
    end 
end 



def create 
end 



private 
    def comment_params 
     params.require(:comment).permit(:content) 

    end 


end 

следующее объединение бен добавлен выпуск контроллер

has_many :comments 

, когда я ввести данные в форма, рельсы не сохраняют данные в базе данных, вместо этого он показывает мне содержимое файла comment.html.erb

Пожалуйста, помогите

ответ

1

Когда вы объявляете методы в классе Ruby, последнее определение метода переопределяет любое предыдущее объявление, которое имеет одну и ту же подпись метода (имя метода и аргументы).

У вас есть два метода create, один с логикой, а второй пустой. Поскольку второй пуст, он запускается вместо первого, где находится вся ваша логика.

+0

благодарит за помощь. Я действительно ценю это. – dev

+0

Нет проблем. Когда у вас есть шанс, дайте ответ принятому статусу, чтобы последующие зрители знали, что это сработало для вас. – MarsAtomic