0
스포츠 게임을 저장할 앱을 만들고 있습니다.이 모든 사용자는 별도의 리그에 배치됩니다. 나는 이것을 위해 many to many를 설정했지만 사용자가 응용 프로그램을 볼 때 current_league의 모든 정보 만 볼 수 있습니다.루프에서 값으로 속성 업데이트
이제 사용자가있는 모든 리그로 루프를 만들려고합니다. 사용자가 리그를 클릭하여 활성 리그를 변경할 수 있어야합니다.
경로
resources :users do
member do
post :change_current_league
end
end
UserController
def change_current_league
@user = current_user
@user.update(:current_league_id, params[:league_id])
redirect_to :back, :notice => "Successfully changed your active league"
end
보기
<% current_user.leagues.each do |l| %>
<%= link_to change_current_league_user_path(current_user, l), method: :post, class: 'btn btn-default btn-sm' do %>
<%= l.id %><%= l.league_name %><br>
<% end %>
<% end %>
나는이 작업을 얻으려면 어떻게해야합니까?
죄송의 경우 멍청한 놈 질문의 비트 : P
편집 :이가 작동하지만 어떻게 내가 사용자의 컨트롤러로 정확한 league_id을받을 수 있나요
def change_current_league
@user = current_user
@user.update_attribute(:current_league_id, 1)
redirect_to :back, :notice => "Successfully changed your active league"
end
resources :users do
member do
patch :change_current_league
end
end
?
EDIT2 :
def change_current_league
@league = League.find(params[:league_id])
@user = current_user
@user.update_attribute(:current_league_id, @league)
redirect_to :back, :notice => "Successfully changed your active league"
end
당신은 업데이트하는 사용과 대체 r atrribute 그래서 put/patch 요청은 메소드 – Navin
을 게시하지 않습니다. <% = link_to change_current_league_user_path (current_user, current_league_id : l.id), 메소드 : : 패치, 클래스 : 'btn btn과 같은 링크로 매개 변수로 league_id를 전달하십시오. -default btn-sm 'do %> – Navin
오케이. 그리고 지금 나는 usercontroller (check edit)에서 이것을 시도했다. 하지만 지금은 필드를 0으로 업데이트합니다 .. –