没有路由匹配[POST]“/好友”关注用户

时间:2013-11-03 15:12:19

标签: ruby-on-rails twitter ruby-on-rails-3.2

(Rails 3.2 newbie,App是twitter)

我希望我理解路线,但我仍然没有。我已经设置了一个系统,用户可以通过手动提交用户名来关注其他用户:

@relationship = User.find_by_username(params[:username])
if @relationship
  if current_user.following? @relationship
    current_user.unfollow @relationship
  else
    current_user.follow @relationship
  end
else
  flash[:notice] = "User with username #{params[:username]} is not found"
end

这吐出了这个:

undefined method `model_name' for NilClass:Class

直到我将@relationship改为:关系之后,这才真正奏效:

<%= form_for :relationship do |f| %>
<%= f.text_field :username, placheholder: "username" %>
</div>
<br/>
<%= f.submit "Add/Subtract" %>
<% end %>

现在,当我点击“添加/减去”时,错误信息(“用户名为...的用户”)会一直弹出,但它会改为:

  

没有路线匹配[POST]“/好友”

所有这些都在用户模型下。

我认为有些事情是非常错误的。

编辑:路线看起来像这样..(ribbit = tweets)

 Ribbitapp::Application.routes.draw do

   resources :ribbits
   resources :relationships
   resources :sessions
   resources :users


   get 'logout', to: 'sessions#destroy', as: 'logout'

   #get 'buddies', to: 'users#buddies', as: 'buddies'

   match 'buddies', to: 'users#buddies', as: 'buddies'

   root to: 'users#new'

1 个答案:

答案 0 :(得分:0)

match 'buddies', to: 'users#buddies', as: 'buddies'在您的路线中应该是这样的