ユーザー、カテゴリ、ストーリー、コメントなどのコントローラがあります。私がコメントをするまで、すべては大丈夫でした。私のDBでは、コンテンツuser_id、story_idを保存したいが、テーブルは空です。 @ comment.saveはfalseです。ここに私のコードの一部です:レールで結果をDBに保存できません
CommentsController:StoriesControllerため
def create
@story = Story.find(params[:story_id])
@comment = @story.comments.create(params[:comment])
if @comment.save
flash[:success] = "Successfull added comment"
redirect_to stories_path
else
render 'new'
end
end
show.html.erb:StoriesControllerで
<b><%= @story.title %></b> <br/><br/>
<%= @story.content %> <br/><br/>
<% @story.comments.each do |comment| %>
<b>Comment:</b>
<%= comment.content %>
<% end %>
<%= form_for([@story, @story.comments.build]) do |f| %>
<div class="field">
<%= f.label :content %><br />
<%= f.text_area :content %>
</div>
<div class="actions">
<%= f.submit "Add" %>
</div>
<% end %>
私は同じことをしましたが、どのように今私が理解することはできませんそれをやる。
def create
@categories = Category.all
@story = current_user.stories.build(params[:story])
end
で偽のですか?ストーリーとコメントの間に参加を設定していますか? – ellawren
私はどのようにしてサーバーを再起動したらエラーメッセージの問題は修正されましたが、コメントテーブルi DBは空です。私はstory.rb has_many:commentsとcomment.rb-belongs_to:storyにあります。 route.rbでは私が持っている: リソース:コメント エンド – user1107922
今、私はエラーメッセージを持って、再び..この行で:@comment = current_user.comments.create(のparams [:コメント]) – user1107922