답변:
rake routes
직접 보여줄 수 있습니다.
Rails 콘솔에서을 호출 할 수 있습니다 app.post_path
. 이것은 Rails ~ = 2.3 및> = 3.1.0에서 작동합니다.
app.teh_path
여전히 Rails 4.0에서 작동하며 기본 응용 프로그램 경로에서 엔진 경로를 분리하는 데 유용합니다.
mount Spree::Core::Engine, :at => '/'
엔진 이름을 통해 경로에 액세스합니다 (예 :) app.spree_core_engine.some_path
. 또는 "engine_name" 이이 코드 와 다르게 설정되어 있다면 그렇게 할 것 app.spree.some_path
입니다.
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 콘솔에서 변수 앱은 경로 및 URL 헬퍼를 인스턴스 메소드로 호출 할 수있는 세션 객체를 보유합니다.
app.users_path
경로가 이름 간격 인 경우 다음과 같이 기억하십시오.
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) }