私はブログアプリ(octopress)でアプリを基づかてきた次のガイドに、submoduled:シナトラとRails - submoduledアプリを起動
http://www.nickhammond.com/setting-octopress-jekyll-blog-rails-application/
それは少し古くなったが以外ですいくつかの宝石の周りを変えなければならないとうまくいくようです。ガイドは、あなたのメインの親appディレクトリ内の「ブログ」と呼ばれるフォルダ内の小さなアプリの命を持つ示唆しています。ここでは、config.ruファイルを変更して、run.rbに名前を変更するように指示されました。以下のようにファイルがある:次のように私の親アプリで
/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
マイconfig.ruファイルは次のとおりです。
/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
は私がlocalhostの訪問時:3000 /ブログを、私はルートが見つからないというエラーを得ることはありません、しかし受け取る:
This localhost page can’t be found
No web page was found for the web address: http://localhost:3000/blog
適切に私のconfig.ruファイルを設定する方法上の任意のヘルプは大幅に、事前に感謝をいただければ幸いです。
ルート方法内側に配置すると、エラーを与える: #ための未定義のメソッド 'マップ」(NoMethodError) 及び方法外側にも同様のものを与えます。 –
Mark
@マーク最新の投稿を読んでこのステップを試してみてください。何か誤りがある場合は教えてください。ヘルプを試すために時間を割いて、すべての感謝の – EVX
初。 3000 /ブログ私は同じエラーに、いいえWebページを取得していない:私はRails.application.eager_loadマイナス前にそれを持っていたものを見ることができます!、私はローカルホストにnagivateしようとする限りは、あなたの提案を、試してみましたhttp:// localhost:3000/blog – Mark