2016-05-16 19 views
2

私のアプリは、パスヘルパーであるshow_popular_hashtags_pathというリソースヘルパーを呼び出していますが、Railsはそれを認識していないようです。これは私の部分である:Railsでパスが認識されない

.col-xs-12.no-padding.blue-title{style: "page-break-inside: avoid !important;"} 
    .col-xs-12.text-center.global-map.no-padding 
    %h1 
     = t('uniq.hashtag.title') 
    .js-column-chart-hashtags{data: {url: show_popular_hashtags_path(id: @project.id, provider: provider), provider: provider}} 
     .column-chart-hashtags.statistics-chart{class: "#{provider}", style: "width: 100%"} 
    %h2.empty-message.column-chart-hashtags{class: "#{provider}", style: "padding-top: 15px; padding-bottom: 30px; display: none;"} 
     = t('unique.there_is_no_info') 

これは私のroutes.rbです:

namespace :user do 
    resources :projects, except: [:delete] do 
    member do 
     get :show_users, to: 'projects#js_show_users_data', as: :show_users_data 
     get :show_popular_hashtags, to: 'projects#js_show_popular_hashtags', as: :show_popular_hashtags 
     get :show_activity_data, to: 'projects#js_show_activity_data', as: :show_activity_data 

私はrake routes | grep show_popular_hashtagsを実行する場合でも、別のルートのすべてが、非常によく行くために、出力は次のとおりです。

$ rake routes | grep show_popular_hashtags 
    show_popular_hashtags_user_project GET  /user/projects/:id/show_popular_hashtags(.:format)  user/projects#js_show_popular_hashtags 

ルートがうまくいくように見えますが、部分を含むビューにアクセスすると、このエラーが表示されます:

undefined method `show_popular_hashtags_path' for #<#<Class:0x007fa20d865d10>:0x007fa20dc5a6f0> 

私は既にサーバーを再起動しましたが、動作しませんでした。

答えて

2

ルートヘルパーの名前は、実際にはshow_popular_hashtags_user_projectであり、show_popular_hashtagsではありません。あなたはrake routes出力の最初の列にそれを見ることができます。

$ rake routes | grep show_popular_hashtags 
    show_popular_hashtags_user_project GET  /user/projects/:id/show_popular_hashtags(.:format)  user/projects#js_show_popular_hashtags 

ちょうどあなたのビューでshow_popular_hashtags_user_projectshow_popular_hashtagsルートヘルパーの名前を変更し、それが動作します。

+0

他のルートと同様のパスが 'namespace'と' resource'なしで働いたので、うまくいきませんでした。ありがとうございました! –

関連する問題