2010-01-18 39 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