我是铁杆新手,担心我的问题很无知 - 请保持温柔。
我正在构建一个应用程序,它将对其他网站进行编目和监控,并且需要与外部数据源同步(从而覆盖主键)。
我有下面的模型,但我无法弄清楚访问单个记录的路由(列表工作)
任何指针?
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
答案 0 :(得分:2)
Stack Overflow响应者很少有意思,即使他们的帖子很快就被排名较高的人编辑。
要获取所有路线的列表,您可以导航到终端中的rails目录,然后发出命令:
rake routes
这将吐出应用程序中的所有路径。如果您使用脚手架生成器创建模型,通常可以转到 http://localhost:3000/:model_name/:action_name/:id 。因此,如果您的模型被命名为Affiliate,并且您的行动是展示会员,并且您希望向ID显示22的会员。您将转到 http://localhost:3000/Affiliate/show/22 。我希望这有帮助,如果不是,请跟进评论答案,我明白,开始学习新的东西,即使学习正确的问题,也可能是一个挑战。
答案 1 :(得分:2)
如果您使用脚手架生成器生成了关联企业模型,那么您应该可以通过http://localhost:3000/Affiliates/show/
访问各个关联企业如果这不起作用,请尝试在项目配置目录中指定routes.rb中的路由 在那里,您可以将URL与动作相关联,然后自己编写动作。 route.rb的条目: map.connect'linkiliates /:id',: controller =&gt; 'affiliates',:action =&gt; 'show'
然后在控制器中使用一个简单的函数来返回会员
.rb中的功能: def show affiliate = Affiliate.find_by_id(params [:id]) 端
现在,会员变量将包含由以下标识的会员的属性:id