gpt4 book ai didi

ruby-on-rails - 为什么我在安装 PaperClip 时得到一个 "undefined method for ` has_attached_file`?

转载 作者:数据小太阳 更新时间:2023-10-29 06:20:54 24 4
gpt4 key购买 nike

我刚刚安装了 Paperclip 插件,但收到以下错误消息,但我不确定原因:

NoMethodError (undefined method `has_attached_file' for #<Class:0x10338acd0>):
/Users/bgadoci/.gem/ruby/1.8/gems/will_paginate-2.3.12/lib/will_paginate/finder.rb:170:in `method_missing'
app/models/post.rb:2
app/controllers/posts_controller.rb:50:in `show'

它引用了 will_paginate gem。据我所知,我的 PostsController#index 似乎有问题,或者之前尝试安装 gem 而不是插件,在这种情况下我已经阅读过我应该能够以某种方式通过 /config/environments.rb 文件进行补救。

我不认为之前安装的 gem 会很重要,因为我在安装插件之前删除的旧版本站点中安装了它。在网站的当前版本中,我显示表格已在迁移后使用 Paperclip 列进行了更新。这是我的代码:

PostsConroller#show:

  def show
@post = Post.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @post }
end
end

发布模型:

class Post < ActiveRecord::Base

has_attached_file :photo
validates_presence_of :body, :title
has_many :comments, :dependent => :destroy
has_many :tags, :dependent => :destroy
has_many :votes, :dependent => :destroy
belongs_to :user
after_create :self_vote
def self_vote
# I am assuming you have a user_id field in `posts` and `votes` table.
self.votes.create(:user => self.user)
end

cattr_reader :per_page
@@per_page = 10

end

/views/posts/new.html.erb:

<h1>New post</h1>
<%= link_to 'Back', posts_path %>
<% form_for(@post, :html => { :multipart => true}) do |f| %>
<%= f.error_messages %>

<p>
<%= f.label :title %><br />
<%= f.text_field :title %>
</p>
<p>
<%= f.label :body %><br />
<%= f.text_area :body %>
</p>
<p>
<%= f.file_field :photo %>
</p>

<p>
<%= f.submit 'Create' %>
</p>
<% end %>

最佳答案

安装新的 gem/插件后重启服务器非常重要。这应该可以解决您的问题

关于ruby-on-rails - 为什么我在安装 PaperClip 时得到一个 "undefined method for ` has_attached_file`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2661062/

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