nil:NilClass的未定义方法'id'(Controller#create)

NameError in CommentsController#create undefined method `id' for nil:NilClass

下一行的错误。我想user_id在当前时间授权的字段(注释表)id用户中保存

update_column(:user_id, user.id)

模型

class Comment < ActiveRecord::Base
  belongs_to :user
  has_many :likes

  after_save :update_comments
  def update_comments
    update_column(:user_id, user.id)
    true
  end
end

class User < ActiveRecord::Base
  validates :name, presence: true, uniqueness: true
  has_secure_password
  has_many :comments
end

Comments_controller.rb

def create
    @user = User.all
    @comment = Comment.all
    @comment = Comment.new(comment_params)

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

**查看/ _表格**

<%= simple_form_for(@comment) do |f| %>
  <%= f.error_notification %>

  <div class="form-inputs">
    <%= f.input :text %>
  </div>

  <div class="form-actions">
    <%= f.button :submit %>
  </div>
<% end %>

会话数/新

<%= form_tag do %>
          <div class="as"><% if flash[:alert] %>
                <p id="notice"><%= flash[:alert] %></p>
            <% end %></div>
          <br><br>
          <fieldset>

            <legend></legend>
            <dl>
              <dt><label for="email">Log in:</label></dt>
              <dd><%= text_field_tag :name, params[:name], class: "user" %></dd>
            </dl>
            <dl>
              <dt><label for="password">Password:</label></dt>
              <dd><%= password_field_tag :password, params[:password], class: "password" %></dd>
            </dl>
          </fieldset>


          <fieldset class="action">
            <input type="submit" name="submit" id="submit" value="Enter" />
          </fieldset>
      <% end %>
格罗弗海滩

尝试使用

def create
@user = User.all
@comment = Comment.all
@comment = @current_user.comments.new(comment_params)

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

结尾

然后,您无需显式分配user_idcomment after_create使用关联,它将自动为注释分配user_id。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

nil:NilClass的未定义方法'id'(Controller#create)

来自分类Dev

Rails 4 Ajax NoMethodError-我的create.js.erb文件中nil:NilClass:的未定义方法'id'

来自分类Dev

Rails 4 Ajax NoMethodError-我的create.js.erb文件中nil:NilClass:的未定义方法'id'

来自分类Dev

Rails为nil:NilClass使用的未定义方法`id'

来自分类Dev

rspec,nil:NilClass的未定义方法`id'

来自分类Dev

rspec未定义的方法`id',用于nil:NilClass

来自分类Dev

nil 的未定义方法“id”的错误:NilClass

来自分类Dev

nil的未定义方法“ destroy”:NilClass找不到我的数据的ID

来自分类Dev

在Rails应用中找不到nil:NilClass的'id'= 1和未定义方法`title'的Article

来自分类Dev

Nil:NilClass的EventRegistrationsController#new未定义方法`id'中的NoMethodError

来自分类Dev

未定义的方法'id'用于nil:NilClass用于对象收集

来自分类Dev

rails-如果查看时有条件-nil:NilClass的未定义方法'id'

来自分类Dev

nil:NilClass的未定义方法'id'-引用关联-rails 4

来自分类Dev

rake db:create为nil:NilClass错误提供了未定义的方法'[]'

来自分类Dev

为nil:NilClass设计未定义的方法'id',但是current_user不在范围内(我认为吗?)

来自分类Dev

nil:NilClass的未定义方法“ update”。Friendly_id和脚手架控制器

来自分类Dev

使用Rspec测试Devise时,“ setup_controller_for_warden”错误中的“ nil:NilClass的未定义方法'env'”错误

来自分类Dev

NoMethodError(nil:NilClass 的未定义方法 `posts'):app/controllers/posts_controller.rb:44:in `set_post'

来自分类Dev

如何将user.id从一个控制器传递到另一个“ nil:NilClass的未定义方法'id'”

来自分类Dev

尝试从Rails前端站点创建新文章时,在Rails Json API上获取NoMethodError(nil:NilClass的未定义方法'id')

来自分类Dev

nil:NilClass <NoMethodError>的未定义方法'>'

来自分类Dev

RoR:nil:NilClass的未定义方法`[]'

来自分类Dev

nil:NilClass的未定义方法`env'

来自分类Dev

nil:NilClass的未定义方法“错误”

来自分类Dev

NoMethodError:未定义的方法[[] ='for nil:NilClass

来自分类Dev

nil:NilClass的未定义方法'%'

来自分类Dev

nil:NilClass的未定义方法“ +”(NoMethodError)

来自分类Dev

nil:NilClass的未定义方法“ new”

来自分类Dev

nil:NilClass的未定义方法“ sub”

Related 相关文章

  1. 1

    nil:NilClass的未定义方法'id'(Controller#create)

  2. 2

    Rails 4 Ajax NoMethodError-我的create.js.erb文件中nil:NilClass:的未定义方法'id'

  3. 3

    Rails 4 Ajax NoMethodError-我的create.js.erb文件中nil:NilClass:的未定义方法'id'

  4. 4

    Rails为nil:NilClass使用的未定义方法`id'

  5. 5

    rspec,nil:NilClass的未定义方法`id'

  6. 6

    rspec未定义的方法`id',用于nil:NilClass

  7. 7

    nil 的未定义方法“id”的错误:NilClass

  8. 8

    nil的未定义方法“ destroy”:NilClass找不到我的数据的ID

  9. 9

    在Rails应用中找不到nil:NilClass的'id'= 1和未定义方法`title'的Article

  10. 10

    Nil:NilClass的EventRegistrationsController#new未定义方法`id'中的NoMethodError

  11. 11

    未定义的方法'id'用于nil:NilClass用于对象收集

  12. 12

    rails-如果查看时有条件-nil:NilClass的未定义方法'id'

  13. 13

    nil:NilClass的未定义方法'id'-引用关联-rails 4

  14. 14

    rake db:create为nil:NilClass错误提供了未定义的方法'[]'

  15. 15

    为nil:NilClass设计未定义的方法'id',但是current_user不在范围内(我认为吗?)

  16. 16

    nil:NilClass的未定义方法“ update”。Friendly_id和脚手架控制器

  17. 17

    使用Rspec测试Devise时,“ setup_controller_for_warden”错误中的“ nil:NilClass的未定义方法'env'”错误

  18. 18

    NoMethodError(nil:NilClass 的未定义方法 `posts'):app/controllers/posts_controller.rb:44:in `set_post'

  19. 19

    如何将user.id从一个控制器传递到另一个“ nil:NilClass的未定义方法'id'”

  20. 20

    尝试从Rails前端站点创建新文章时,在Rails Json API上获取NoMethodError(nil:NilClass的未定义方法'id')

  21. 21

    nil:NilClass <NoMethodError>的未定义方法'>'

  22. 22

    RoR:nil:NilClass的未定义方法`[]'

  23. 23

    nil:NilClass的未定义方法`env'

  24. 24

    nil:NilClass的未定义方法“错误”

  25. 25

    NoMethodError:未定义的方法[[] ='for nil:NilClass

  26. 26

    nil:NilClass的未定义方法'%'

  27. 27

    nil:NilClass的未定义方法“ +”(NoMethodError)

  28. 28

    nil:NilClass的未定义方法“ new”

  29. 29

    nil:NilClass的未定义方法“ sub”

热门标签

归档