2012-05-12 14 views
1

routes.rbをRailsのルーティング - '未定義のメソッド'

match 'mybookings/:token' => 'mybookings#test', :as => 'bookit' 
    resources :mybookings 

レールルート内のURLヘルパーの結果は示しています

=link_to "by clicking here", bookit_url(@client.token) 

結果:

bookit /app/mybookings/:token(.:format) mybookings#test 

は、その後、私はヘルパーを使いますin

ActionView::Template::Error 
Error 
undefined method `bookit_url' for #<#<Class:0x007fd2c1ca3488>:0x007fd2c1f96960> 

そのヘルパーに何が問題なのですか?

+0

あなたは私たちにroutes.rb' 'で' bookit'のためのラインを表示することができますか? –

+0

が追加されました。ありがとう – 99miles

+0

うーん、それは私には謎です。コンソールでこれを試すとどうなりますか? 'app.bookit_url(0)'また、これはあなたが尋ねたことではなく、デザイン哲学をもっと進めていますが、[RESTfulなアクションを追加する]ことも考えられます(http://guides.rubyonrails.org/routing.html#このようなカスタムルートを作成する代わりに、より穏やかなアクションを追加する)また、ハハ、「予約」だけでなく「マイブッキング」と呼んでいる理由はありますか? –

答えて

1

あなたのコードはここに3.2

がキーコードですRailsの中で私のために正常に動作します:

# in routes.rb 
match 'mybookings/:token' => 'mybookings#test', :as => 'bookit' 

# in controller: 
class MybookingsController 
    def test 
    render :text => 'this is bookit action' 
    end 
end 

# in your erb or haml file: 
link_to "by clicking here", bookit_url('this is the token string') 
+3

ありがとう!問題は、単に私がResqueから送られたメーラからこれを呼んでいたので、私はこれをしなければならないことが判明しましたRails.application.routes.url_helpers.bookit_url( '12312') – 99miles

+0

AlchemyCMSでこのような問題が発生しました。 99milesからの回答は魅力的です!しかし、私はurl_helpersでこの奇妙な動作が気に入らない。 – 18augst

関連する問題