したがって、これはシナリオです。
パートナーモデルの表示ビューで、別のモデルであるRecommendPartnerモデルのdeleteメソッドへのlink_toが必要です。
ただし、destroyメソッドが終了したら、パートナーショーに戻る必要があります。
コードに!!
私のパートナーショービュー(これがひどく醜い場合、私は提案を受け入れます):
<div>
<%= link_to 'Destroy!', @partner.recommended?(current_user), confirm: 'Are your sure?', method: 'delete', :controller => "recommend_partners", :action => "destroy", :p_id => @partner.id %>
</div>
ご覧のとおり、パラメータに:p_idを送信しようとしていますが、成功しません。
これが私のおすすめですか?知る必要がある場合のメソッドは、RecommendPartnerオブジェクトを返すだけです。私のPartner.rbで:
def recommended? (user)
RecommendPartner.find_by_user_id_and_partner_id(user.id,self.id)
end
はい、RecommendPartnerはユーザーモデルとパートナーモデルに属しています。
最後に、これが私のrecommend_partners_controlerdestroyメソッドです。
def destroy
@recommend_partner = RecommendPartner.find(params[:id])
partner = Partner.find(params[:p_id])
@recommend_partner.destroy
respond_to do |format|
format.html { redirect_to partner }
format.json { head :no_content }
end
end
したがって、params [:p_id]はnilであり、私がいたことを示すパートナーショーにリダイレクトすることはできません... = /
助言がありますか?
前もって感謝します。