我試圖解決這個長期存在的問題(見我最後的問題)未定義的方法「MODEL_NAME」爲NilClass:類以下用戶
我修改Twitter的克隆是一個所有功能於一身的網頁件事。
我希望current_user
能夠通過手動提交它來遵循:username
。
所以下/views/users/buddies.html.erb
:
<%= form_for :relationship do |f| %>
<%= f.text_field :username, placheholder: "username" %>
</div>
<br/>
<%= f.submit "Add/Subtract" %>
<% end %>
試圖張貼到該控制器:
users_controller.rb
def buddies
@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
我使用User.rb
定義的方法。
這應該工作,但它沒有。它必須是params或語法的問題。 :relationship
應該是@relationship
?如果是這樣我得到這個錯誤:
undefined method "model_name" for NilClass:Class
我使用Rails 3.2。現在讓這個簡單,這裏是我的github!
您是否已經驗證'find_by_username'返回的東西,而不是'nil'? – Vidya
我偷了會議控制器的那條線...我如何檢查零? – benjaminhallock