2012-12-05 187 views
0

我得到這個錯誤undefined local variable or method toggle_follow_path'`在視圖文件夾中。我可能有錯誤的方法或使用關閉form_tag + toggle_follow_path任何幫助將受到歡迎謝謝。順便說一下,切換跟隨的目標是遵循或不遵循某一個。未定義的局部變量或方法`toggle_follow_path'

在路由文件

match '/:username/toggle_follow',  to: 'home#toggle_follow' 

家居控制器

def toggle_follow 
    @user = User.find_by_username(params[:username]) 
    if current_user.is_friend? @user 
     flash[:notice] = "You are no longer following @#{@user.username}" 
     current_user.remove_friend(@user) 
    else 
     flash[:notice] = "You are now following @#{@user.username}" 
     current_user.add_friend(@user) 
    end 
    redirect_to user_flits_path(@user) 

    end 

視圖

<h1><%= image_tag @user.gravatar_url, :align => "top" %> <%= @user.username %></h1> 

<%= form_tag toggle_follow_path, :method => :post do %> 
    <% if current_user.is_friend? @user %> 
    <%=h submit_tag "Following" , :class => "button" %> 
    <% else %> 
    <%=h submit_tag "Follow" , :class => "button" %> 
    <% end %> 
<% end %> 
<%=h render :partial => "flits_list", :locals => {:flits => @flits }%> 

回答

1

使用:as選項match指定所需的助手的名字:

match '/:username/toggle_follow', to: 'home#toggle_follow', as: 'toggle_follow' 

這樣既toggle_follow_pathtoggle_follow_url將被創建。

+0

謝謝你,它的工作 – skip87

0

它需要參加:username參數。

試試這個:

toggle_follow_path(:username => "johndoe") # fill in the correct username. 
+0

但通過使用控制器的用戶名@user發現不,我不具備的方式來指定它的路徑上它的問題均值 – skip87

相關問題