2010-01-18 96 views
1

我是一个铁轨菜鸟,并担心我的问题是可悲的无知 - 请温柔。轨道和主键在铁轨

我正在构建一个应用程序,该应用程序将编录和监视其他网站,并需要与外部数据源同步(因此主键过分)。

我有下面的模型,但我想不出来访问个人记录路由(寿列表适用)

任何指针?

class Affiliate < ActiveRecord::Base 

require 'resolv' 
    require 'rubygems' 
    require 'rwebthumb' 
    include Simplificator::Webthumb 
    self.primary_key = "domain" 
    validates_uniqueness_of :domain 
    validates_presence_of [:org_name, :url], :message => "can't be blank" 

    after_create :generate_thumbnail 

    def to_param 
    id.chomp.gsub(".","") 
    end 


    def generate_thumbnail 
    wt = Webthumb.new(APP_CONFIG['webthumb_api']['key']) 
    job = wt.thumbnail(:url => url) 
    job.write_file(job.fetch_when_complete(:medium2), "#{RAILS_ROOT}/public/data/#{id}.png") 
    end 

    def thumbnail_url 
    "/data/#{id}.png" 
    end 

    def thumbnail_localfile 
    File.exist?("#{RAILS_ROOT}/public/data/#{id}.png") ? "#{RAILS_ROOT}/public/data/#{id}.png" : nil 
    end 

    def thumbnail_last_updated 
    if thumbnail_localfile 
     File.new(thumbnail_localfile).mtime.to_s(:long) 
    else 
     "No such file" 
    end 
    end 


end 

更新:谢谢你们俩!

原来的问题是路线在我routes.rb

回答

2

堆栈溢出应答顺序很少的意思是,即使是他们的职位是由人具有更高的排名快速编辑。

让所有的路线,你可以浏览到你的终端轨道目录的列表,然后发出命令:

rake routes 

这会吐出所有路由的应用程序中。如果您使用脚手架发电机创建了模型,您通常可以通过http://localhost:3000/:model_name/:action_name/:id来实现。因此,如果您的模型被命名为会员,并且您的行动是要显示会员,并且您想向会员显示ID为22的会员。您将会去http://localhost:3000/Affiliate/show/22。我希望这会有所帮助,如果不是,请跟随评论的答案,我明白,即使学习正确的问题,开始新的事情本身也是一个挑战。

2

如果您生成使用脚手架生成的关联模型,那么你应该能够做http://localhost:3000/Affiliates/show/

访问各个分支机构如果不工作,尝试在你的项目config目录中routes.rb中指定路由。
在那里你可以将一个url与一个动作相关联,然后自己编写动作。 入境routes.rb中: map.connect '关联企业/:ID',:控制器=> '分支机构',:动作=> '节目'

,然后在控制器的简单函数来返回联盟

在.RB

功能: DEF显示 联盟= Affiliate.find_by_id(PARAMS [:ID]) 端

现在,会员变量将包含由以下标识的会员的属性:id