Heroku に Rails アプリをデプロイしています。多くのサンプルで提供されている Twitter アプリです。Heroku にデプロイされた Rails アプリを git する方法を学ぼうとしていました。とにかく、follow
ボタンをクリックしても何も起こりません。私はこれを使用heroku logs
し、これが問題であることがわかりました:
NoMethodError (undefined method `[]' for nil:NilClass):
app/controllers/user_relationships_controller.rb:6:in `create'
渡されるパラメータは次のとおりです。
Parameters: {"utf8"=>"✓", "authenticity_token"=>"NIiiOgQ4iowSxezGmvLk3oV/vul+4ysWoFrgh/1eOAY=", "user_id"=>{"follower_id"=>"1"}, "commit"=>"follow"}
次の行に対応します。
@user = User.find(params[:user_id][:follower_id])
誰かが私を正しい方向に向けてもらえますか? ありがとう!
リクエストに応じて:
<%= form_for current_user.user.build(:follower_id => @user.id),
:remote => true do |f| %>
<div><%= f.hidden_field :follower_id %></div>
<div class="actions"><%= f.submit "follow" %></div>
<% end %>
$('#follow_form').replaceWith("<%= escape_javascript render(:file =>'users/_follow_form') %>");
$('#followers').replaceWith('<div id="followers"><h1><%= "Followers: #{@user.followers.count}" %></h1></div>');