1

Rails 2でホスト名を含む完全なURLを取得するにはどうすればよいですか

私が探しているのはurl_for、モデル クラスで使用し、現在のホスト URL を先頭に追加することです

例えば

これをモデルクラスから呼び出す

url_for(:controller => 'wiki', :action => 'show', :project_id => page.project, :id => page.title)

そして、これは返されるはずです

http://www.hostname.com/wiki/show/projectname/wikipageid

4

1 に答える 1

1

モデルに次のモジュールを含めます

  include ActionView::Helpers::UrlHelper
  include ActionView::Helpers
  include ActionDispatch::Routing
  include Rails.application.routes.url_helpers

次に、generete_url という関数を作成し、その関数に url_for を呼び出すことができます。

 class User
   include Mongoid::Document
   include ActionView::Helpers::UrlHelper
   include ActionView::Helpers
   include ActionDispatch::Routing
   include Rails.application.routes.url_helpers


   def generate_url

     url_for(:host => "abcd",:action => 'new', :controller => 'users', :only_path => false, :protocol => 'https') 
   end   
 end

これは私のユーザーモデルであり、これを行うと出力が得られます

u = User.new
u.generate_url 
# => https://abcd/users/new 
于 2012-08-14T12:37:40.527 に答える