gpt4 book ai didi

ruby-on-rails - 未定义方法 `email' 为 nil :NilClass in Exibe the mail of table Father

转载 作者:太空宇宙 更新时间:2023-11-03 16:54:04 24 4
gpt4 key购买 nike

我有一个问题,我把这个归因于评论模型:

class Comment < ActiveRecord::Base
attr_accessible :comment
belongs_to :post
belongs_to :user

这在用户模型中

class User < ActiveRecord::Base
attr_accessible :email, :password, :password_confirmation
has_many :posts
has_many :comments

但这行不通:

  <% post.comments.each do |comment|   %>
<div id="comments" >
<%= comment.user.email %>
<%= comment.comment %>
</div>
<%end%>

出现错误:

undefined method `email' for nil:NilClass

请问有什么问题,在创建评论时我做了这样的归属,看:

  @comment = @post.comments.create(params[:comment],:user_id => current_user.id)

请问我如何解决这个错误-

更新下一个响应,错误仍然存​​在:

我试试这个:

@comment = Comment.new(params[:comment])
@comment.user = current_user
@comment.post = @post
@comment.save

这个

@comment = @post.comments.create(params[:comment].merge(:user_id => current_user.id))

还有这个:

@comment = @post.comments.build(params[:comment])
@comment.user = current_user
@comment.save

不工作

同样的错误:

undefined method `email' for nil:NilClass
Extracted source (around line #48):

45:
46: <% post.comments.each do |comment| %>
47: <div id="comments" >
48: <%= comment.user.email %>
49: <%= comment.comment %>
50: </div>
51: <%end%>

我不知道我的模型评论有什么问题:user_id

  attr_accessible :comment,:user_id,:post_id

我的表格是这样的

   <div id="comment_form_<%= post.id %>" style="display: none;" >

<%= form_for [post,post.comments.build], :remote => true,:class=>"comment" do |com| %>
<%= com.text_area :comment %>
<%= com.submit "aaa" %>

<%end %>

请帮助我,我不知道错误在哪里,数据库已正确迁移

最佳答案

# Model
class Comment < ActiveRecord::Base
attr_accessible :comment, :user_id
end

#Controller
@comment = @post.comments.create(params[:comment].merge(:user_id => current_user.id))

但 next 会更好(:user_id 不可用于批量分配):

@comment = @post.comments.build(params[:comment])
@comment.user = current_user
@comment.save

关于ruby-on-rails - 未定义方法 `email' 为 nil :NilClass in Exibe the mail of table Father,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14175913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com