1

ruby on rails (http://www.youtube.com/watch?v=oXr1jAsBlPI&feature=relmfu) で Twitter クローンを作成するチュートリアルに従おうとしています。私にとって残念なことに、彼は Rails 2.xx でそれを行っており、私は追いつくのに苦労しています。彼が でパスを定義しているとき、私は現在 41:34 ですroutes.rb

「ショー」ページに入ると、この問題が発生します。

「ルーティング エラー 一致するルートがありません {:action=>"show", :controller="toggle_follow"} 使用可能なルートの詳細については、rake ルートを実行してみてください。」

これは私が関連ファイルに持っているものです:

ルート.rb

match '/:username', :controller => 'home', :action => 'show'
match '/:username/toggle_follow', :controller => 'home', :action => 'toggle_follow'

show.html.rb

<% if current_user.is_friend? @user %>
    <%= submit_tag "Following", :class => "button" %>
<% else %>
    <%= submit_tag "Stop following", :class => "button" %>
<% end %>

home_controller.rb

def show
    @user = User.find_by_username(params[:username])
    @flits = @user.all_flits

end

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 
        current_user.add_friend(@user)
        flash[:notice] = "You are following @#{@user.username}"
    end

   redirect_to user_flits_path(@user.username)

end

...

前もって感謝します

4

1 に答える 1

1

わかりました私はそれを解決しました...

ルートでは、次のように入力する必要があります。

ルート.db

マッチ '/:username', :to => 'home#show', :as => 'user_flits' マッチ '/:username/toggle_follow', :to => 'home#toggle_follow', :as => 'toggle_follow'

于 2012-04-23T12:39:52.583 に答える