我有几个静态页面,当在本地运行时作为localhost:3000/foo.html工作,但这一次上传到heroku后不起作用.
我尝试将以下内容添加到routes.rb文件中:
match '/foo', :to => redirect('/public/foo.html')
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用,它将我重定向到foobar.com/public/foo.html,但仍然没有发现任何东西.
我正在从json文件中导入种子文件中的对象,如下所示:
[
{
"email":"jon@a.com",
"id":1,
"league_id":1,
"name":"Slim Jims are good for the heart...OH YEAH!",
"owner":"Jon"
},
{
"email":"robert@a.com",
"id":2,
"league_id":1,
"name":"The Bucket List",
"owner":"Robert"
}
]
Run Code Online (Sandbox Code Playgroud)
我的种子文件是:
require 'json'
Team.delete_all
JSON.parse(open("#{Rails.root}/doc/teams.json").read).each do |stuff|
Team.create(stuff)
end
Run Code Online (Sandbox Code Playgroud)
我的问题是它从json文件中分配了一些随机id而不是id.
我写了一个rake任务,从wikipedia下载了一个名人的名字,但出于某种原因,当存储在S3上时,文件扩展名被删除或更改为.txt
否则该文件是正确的.
有任何想法吗?
从我的名人模特:
has_attached_file :pic,
:styles => { :medium => "300x300>", :thumb => "100x100>" },
:default_style => :medium,
:storage => :s3,
:s3_credentials => "#{Rails.root}/config/s3.yml",
:path => "/:style/:img_name.:extension"
Run Code Online (Sandbox Code Playgroud)
从我的佣金任务:
desc "Update celeb pics from wiki"
task :update_celeb_pics => [:environment] do
include ApplicationHelper
Celeb.all.each do |celeb|
if !celeb.name.start_with?("(")
puts celeb.name
celeb.pic = open(getImage(celeb.name))
celeb.save
end
end
end
Run Code Online (Sandbox Code Playgroud)
getImage方法是一个返回字符串的帮助器
require 'open-uri'
require 'uri'
module ApplicationHelper
def getInfo(name)
Nokogiri::XML(open(URI.escape("http://en.wikipedia.org/w/api.php?action=opensearch&search=#{name}&limit=1&namespace=0&format=xml")))
end
def nokoPage(name)
Nokogiri::XML(open(getURL(name)))
end
def getImage(name)
"http:" + nokoPage(name).css("table img")[0].attribute("src").value if !nokoPage(name).css("table img").empty? …
Run Code Online (Sandbox Code Playgroud) 我的迁移看起来像这样:
create table :posts do |t|
t.string :tags, array: true, default: []
end
Run Code Online (Sandbox Code Playgroud)
如何在所有帖子中获取存储在标签下的所有唯一标签的数组?
ruby postgresql ruby-on-rails rails-postgresql ruby-on-rails-4