J'ai fondais une application avec une application blogging (de octopress) submoduled, le guide suivant:Sinatra et Rails - à partir d'une application submoduled
http://www.nickhammond.com/setting-octopress-jekyll-blog-rails-application/
Il est un peu hors de date, mais autre que Avoir à changer autour de quelques gemmes semble fonctionner correctement. Le guide suggère d'avoir un dossier appelé "Blog" dans votre répertoire principal de l'application parente, dans lequel vit l'application la plus petite. Ici, on m'a dit de changer le fichier config.ru et de le renommer en run.rb. Le fichier est comme suit:
/blog/run.rb
require 'bundler/setup'
require 'sinatra/base'
# The project root directory
$root = ::File.dirname(__FILE__)
class Blog < Sinatra::Base
get(/.+/) do
send_sinatra_file(request.path) {404}
end
not_found do
send_file(File.join(File.dirname(__FILE__), 'public', '404.html'), {:status => 404})
end
def send_sinatra_file(path, &missing_file_block)
file_path = File.join(File.dirname(__FILE__), 'public', path)
file_path = File.join(file_path, 'index.html') unless file_path =~ /\.[a-z]+$/i
File.exist?(file_path) ? send_file(file_path) : missing_file_block.call
end
end
Mon fichier config.ru dans mon application parent se présente comme suit:
/config.ru
# This file is used by Rack-based servers to start the application.
require ::File.expand_path('../config/environment', __FILE__)
require './blog/run'
# Action Cable requires that all classes are loaded in advance
Rails.application.eager_load!
map '/' do
run Rails.application
end
map '/blog' do
run Blog
end
Lorsque je visite localhost: 3000/blog, je ne reçois pas une erreur route introuvable, cependant recevoir:
This localhost page can’t be found
No web page was found for the web address: http://localhost:3000/blog
Toute aide sur la façon de configurer correctement mon fichier config.ru serait grandement appréciée, merci d'avance.
En le plaçant à l'intérieur de la méthode routes donne une erreur: méthode non définie carte » pour # (NoMethodError) et en dehors de la méthode donne un semblable aussi. –
Mark
@Mark S'il vous plaît lire ma mise à jour et essayez cette étape et dites-moi si vous avez des erreurs. – EVX
Tout d'abord merci de prendre le temps d'essayer de l'aide. J'ai essayé votre suggestion, qui est aussi loin que je peux voir ce que je l'avais avant moins le Rails.application.eager_load !, mais quand j'essaye de nagivate à localhost: 3000/blog je reçois la même erreur, pas de page Web a été trouvé pour l'adresse Web: http: // localhost: 3000/blog – Mark