郁闷的下午,郁闷的RMagick

一位Rails初学者在尝试引入RMagick时遇到了服务器崩溃的问题,并在使用has_many关联时遭遇方法未定义的错误。该文详细记录了问题出现的场景与环境配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初学ror一星期,过程中一直相安无事,但是昨天被RMagick浪费了我两小时,今天三个小时又被RMagick无情的浪费掉了,贴在这耽误大家一些时间帮忙找找原因,
1、用webrick运行的时候,只要我在controller中加入
   
ruby 代码
  1. require 'RMagick'  
  2. include Magick  

 此时只要执行任何action(也就是装载了controller),webrick立刻崩污
后来换了lighttpd后没问题,可以使用Image类画图,原本以为就这么风平浪静了。

2、今天项目中汲及到has_many的访问
     如:
ruby 代码
 
  1. class Task < ActiveRecord::Base   
  2.     has_many :task_reports,  
  3.                             :class_name=>"TaskReport",  
  4.                             :order=>"created_at DESC"                    
  5.                                  
  6. end  


ruby 代码
 
  1. class TaskReport < ActiveRecord::Base  
  2.     belongs_to :task,  
  3.                                 :class_name=>"Task",  
  4.                                 :foreign_key=>"task_id"     
  5. end  

现在为某个task添加一个task_report

   task=Task.find(params[:id])  #装载一个task
   task.task_reports << TaskReport.new(params[:task_report])

下面开始执行,刚启动服务器,访问网页,执行到Action,正常,能添加一个task_reports,数据库中也有数据。
但是,再刷新,就提示“没有定义task_reports"方法,反复如此,重启服务器的第一次可以访问,再访问就不行了,所有的关联关系都是如此。
ruby 代码
  1. ruby为1.8.6  
  2. rails为1.2.3  

ubuntu下开发和运行,服务器安装配置是基于robbin的那遍文章安装的,安装RMagick时发现几个类库少了(ghostscript,TreeType2等),都是手工安装的。RMagick最后是成功安装上的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值