2011-07-25 97 views
0

我試圖按照本Rails3 Routes - Passing parameter to a member routeRails3中路由與各路由

建議我: _health.html(部分)

<%= link_to image_tag("icons/pro_gray.png", :border =>'none'), flag_contact_flags_path(@id), :action => "flag", :id => @id, :remote => true, :class => 'flag' %> 

的routes.rb

resources :contact_flags do 
    get 'flag/:id', :action => 'flag', :on => :collection 
    end 

當我做我得到這個錯誤: ActionView :: Template :: Error(未定義的方法`flag_contact_flags_path'爲#<#:0x0000010 1430358>):

當我耙路由我顯示: GET /contact_flags/flag/:id(.:format){:行動=> 「標誌」,:控制器=> 「contact_flags」}

爲什麼不認爲工作?

我確實需要傳遞:id參數..任何想法?

謝謝

回答

0

看起來你需要改變你指向的路線。嘗試contact_flags_path(@id)而不是flags_contact_flags(@id)。

還好嗎?

+0

謝謝,但沒有運氣..如果我這樣做,它一起拿出我的國旗行動。然後我得到這樣的東西「/contact_flags.057da91cb36d438540f74bfed0764af16d86efe5」該ID是正確的,但現在的行動是不正確的,甚至與原來的路線,它放了一段時間,而不是一個斜線......只是不知道爲什麼? – looloobs

+0

對不起,我的辦公室仍在使用Rails2,所以我沒有及時瞭解他們在Rails3中獲得的所有新的路由選擇。我建議檢查在線路由文檔,並查看它是否可以提供幫助。 – rennekon