0

私は _follow_form パーシャルを持っています:

 <% unless current_user == @player %>
  <div id="follow_form">
      <% if current_user.following?(@player) %>
        <%= render 'unfollow' %>
      <% else %>
        <%= render 'follow' %>
      <% end %>
  </div>
<% end %>

私の _follow パーシャルは次のようになります。

<%= form_for current_user.relationships.build(:followed_id => @player.id),
             :remote => true do |f| %>
  <div><%= f.hidden_field :followed_id %></div>
  <div class="actions"><%= f.submit "Follow" %></div>
<% end %>

私の create.js.erb ファイル:

$("#follow_form").update("<%= escape_javascript(render('players/follow')) %>")

しかし、関係を作成しても何も起こりません。リレーションは作成されますが、パーシャルは更新されません。私が試してみると:

$("#follow_form").append("foobar");

できます。

#follow_form を更新するにはどうすればよいですか? ご協力いただきありがとうございます。

PS: 投稿する前に解決策を探しましたが、試したことはすべて失敗しました。

アップデート

と :

$("#follow_form").html("<%= escape_javascript(render('players/unfollow')).html_safe %>")

何も起こらず、パーシャルは置き換えられませんが、エラーが発生します:

NoMethodError in Relationships#create

Showing C:/Ruby/ostriker/app/views/players/_unfollow.html.erb where line #1 raised:

undefined method `model_name' for NilClass:Class

私の _unfollow パーシャル:

<%= form_for current_user.relationships.find_by_followed_id(@player),
         :html => { :method => :delete },
         :remote => true do |f| %>
 <div class="actions"><%= f.submit "Unfollow" %></div>
<% end %>
4

1 に答える 1

1
$("#follow_form").html("<%= escape_javascript(render('players/follow')).html_safe %>")
于 2013-03-04T11:09:26.573 に答える