我正在建立一个博客网站,我正在努力添加评论部分。我安装了commontator gem并按照步骤操作。我的用户模型中有acts_as_commontator
。我的图钉模型中acts_as_commontable
。我的别针中显示<%= commontator_thread(@commontable) %>
。
我收到NoMethodError。当我在模型中使用该方法时,我不明白为什么它不理解我的方法调用。
我的Pin show.html.erb
<div class="row">
<div class="col-md-offset-2 col-md-8">
<div class="panel panel-default">
<div class="panel-heading center">
<%= image_tag @pin.image.url(:medium) %>
</div>
<div class="panel-body">
<p><%= @pin.description %></p>
<p><strong><%= @pin.user.name if @pin.user %></strong></p>
<% if @pin.user == current_user %>
<%= link_to 'Edit', edit_pin_path(@pin) %>
<% end %>
</div>
</div>
<%= commontator_thread(@commontable) %>
</div>
</div>
</div>
我的模特Pin.erb
class Pin < ActiveRecord::Base
belongs_to :user
has_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" }
validates_attachment_content_type :image, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif"]
validates :image, presence: true
acts_as_commontable
end
我的模特User.erb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :pins
validates :name, presence: true
acts_as_commontator
end
答案 0 :(得分:0)
最常见的问题是你的@commontable变量是nil,然后你得到NoMethodError,它会得到一个:id。
检查@commontable是否为零也尝试使用@pin更改@commontable,因为他没有在编辑路径上抛出任何错误。