現在、開発ホストで機能するこれを使用していますが、本番環境に移行するときに{:host=>""}コードを手動で変更する必要があります。
post.rb
def share_all
url = Rails.application.routes.url_helpers.post_url(self, :host => 'localhost:3000')
if user.authentications.where(:provider => 'twitter').any?
user.twitter_share(url)
end
end
これを使用して、環境ごとにdefault_url_optionsを定義したいと思います。
post.rb
def share_all
url = Rails.application.routes.url_helpers.post_url(self)
if user.authentications.where(:provider => 'twitter').any?
user.twitter_share(url)
end
end
これをconfig/environment / development.rbに追加しようとしましたが、「リンクするホストがありません!:hostパラメーターを指定するかdefault_url_options [:host]を設定してください」というエラーが表示されます。
development.rb
config.action_controller.default_url_options = {:host => "localhost:3000"}
そして私はそれをこのように試しました:
development.rb
config.action_controller.default_url_options = {:host => "localhost", :port => "3000"}
編集:
私もこれに従いましたが、それでも同じエラーガイドhttp://edgeguides.rubyonrails.org/action_controller_overview.html#default_url_options
アプリケーションコントローラー
class ApplicationController < ActionController::Base
protect_from_forgery
include ApplicationHelper
def default_url_options
if Rails.env.production?
{ :host => "example.com"}
else
{:host => "example1.com"}
end
end
end
これは私を夢中にさせています、私はここで何が欠けていますか?