2017-08-12 10 views
1

web-packerと gemを使ってオンライン旅行アプリを構築しています。私のJSXビューで例えばWebapper/React-Rails 5.1でRails Urlヘルパーを使用する方法

::私は、サーバー側のレンダリングと私のJSXビューでRailsのURLヘルパーを使用しての問題に直面しています、私はこれを持って実行した後

#project/app/javascript/packs/app/components/front_end/SearchTripItemComp.erb 
 
<%= link_to "Book Now!", search_trips_path, className: 'btn btn-book' %>

をエラー:周りの仕事は、PAにあるように私は、考えることができますどのような

enter image description here

search_trips_pathをComponent from my Railsビューから継承するか、Rails.application.routes.url_helpersを直接使用しますが、これは特に多くのリンクを持つjsxビューでは非常に不便です。

私はWebパッカーのドキュメントを見ようとしましたが、erbローダー用のRailsビューヘルパーをサポートしていないようです。

助けてください!

ps:erb webpacker loaderが正しく設定されています。

+1

はい、申し訳ありませんが、唯一の方法は小道具としてそれを渡しています。ヘルパーはJavascriptから利用できません。 –

答えて

1

あなたJSXビューでこれを試してみてください:

#project/app/javascript/packs/app/components/front_end/SearchTripItemComp.erb 
 
<%= ActionController::Base.helpers.link_to "Book Now!", Rails.application.routes.url_helpers.search_trips_path, className: 'btn btn-book' %>

使用:代わりにヨーヨーで

*_path 

Rails.application.routes.url_helpers.*_path 

をur.helbファイルは、url_helpersのために動作します。

If you need to generate URLs from your models or some other place, then ActionController::UrlFor is what you're looking for. Read on for an introduction. In general, this module should not be included on its own, as it is usually included by url_helpers (as in Rails.application.routes.url_helpers).

ActionDispatch::Routing::UrlFor

同様に使用することができますLINK_TOためRails.application.routes.url_helpers.search_trips_path:

ActionController::Base.helpers.link_to 
関連する問題