回答:
rake routes
直接表示することができます。
Railsコンソールでは、を呼び出すことができますapp.post_path
。これはRails〜= 2.3および> = 3.1.0で機能します。
app.teh_path
はRails 4.0でも機能し、メインアプリケーションパスからエンジンパスを分離するのに役立ちます。
host
ようなので、パラメータを:app.article_url(my_article, host: 'mydomain.com')
あなたもすることができます
include Rails.application.routes.url_helpers
コンソールセッション内からヘルパーにアクセスします。
url_for controller: :users, only_path: true
users_path
# => '/users'
または
Rails.application.routes.url_helpers.users_path
Rails.application.routes.url_helpers.users_path
か?
Railsコンソールでは、変数appがセッションオブジェクトを保持しており、インスタンスオブジェクトとしてパスとURLヘルパーを呼び出すことができます。
app.users_path
の出力はいつでもpath_helpers
コンソールで確認できます。ヘルパーを使ってapp
app.post_path(3)
#=> "/posts/3"
app.posts_path
#=> "/posts"
app.posts_url
#=> "http://www.example.com/posts"
あなたのルートが次のように名前空間であるかどうか覚えてください:
product GET /products/:id(.:format) spree/products#show
次に試してください:
helper.link_to("test", app.spree.product_path(Spree::Product.first), method: :get)
出力
Spree::Product Load (0.4ms) SELECT "spree_products".* FROM "spree_products" WHERE "spree_products"."deleted_at" IS NULL ORDER BY "spree_products"."id" ASC LIMIT 1
=> "<a data-method=\"get\" href=\"/products/this-is-the-title\">test</a>"
spree
例をありがとう、あなたは天国から落ちた天使です。
app.get "/"
必要なメソッドをinstance_evalのように呼び出すことで、偽のリクエストをアプリオブジェクトに貼り付け ます。例:app.instance_eval{ post_path(post) }