2013-06-17 1 views
0

'follow_form'이라는 부분이 있는데, 다른 하나는 player_infos으로 표시됩니다. 나는 "플레이어 # 쇼`에 _player_infos을 표시하고 있습니다.Aails 양식이 Rails3과 함께 자동으로 전송됩니다.

내 문제는 내가 players/show에 갈 때하는 관계가 자동으로. 내 말은, players/_follow의 양식이 자동으로 전송됩니다 만든 것입니다.

follow_form 부분에는 다음이 포함

<% unless current_user == @player %> 
    <div class="follow_form"> 
     <% if current_user.following?(@player) %> 
     <%= render 'players/unfollow' %> 
     <% else %> 
     <%= render 'players/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 "Suivre" , :class=>"grid_13 cursor" %></div> 
<% end %> 

내 RelationshipsController에 포함 된 정확한에 그래서 편집

확인 : 관계도 만들어 왜 그렇게

class Player < ActiveRecord::Base 

    def follow!(followed) 
    relationships.create!(:followed_id => followed.id) 
    end 

    end 

, 나는 이해할 수 없다 :

 def create 
    @player = Player.find(params[:relationship][:followed_id]) 
    current_user.follow!(@player) 

    respond_to do |format| 
     format.html { redirect_to @player } 
     format.js 
    end 
    end 

그리고 follow!이에 의미 제출 버튼을 클릭하지 않으면.

자세한 정보가 필요하면 알려주십시오. 감사합니다.

답변

0

양식이 자동으로 제출 되었습니까?

반환 이 속성을 인스턴스화를 통해이 객체에 연결되었습니다 컬렉션 타입의 하나 또는 그 이상의 새로운 객체를하십시오 has_many 관계의 컬렉션의 build() 방법

documentation은 다음을 말한다 a 외래 키이지만 아직 저장되지 않았습니다.

변경 내용이 데이터베이스에 저장되지 않았지만 메모리 내 개체는 두 플레이어간에 관계가 설정되어 있습니다.

relationship 컬렉션을 사용하지 않고 개체를 직접 만들면 양식을 제출 한 후 relationship 컬렉션을 사용하여 개체를 만들 수 있습니다.

관련 문제