0
我正在構建應用程序以存儲體育比賽,因此所有用戶都將被放置在獨立的聯賽中。我爲此設置了多對多的功能,但是當用戶查看應用程序時,他只能看到來自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
編輯:
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
這是工作,但我如何才能正確league_id到用戶控制器?
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所以它的一個放/補丁請求不發佈方法 – Navin
通過league_id作爲參數與您的鏈接,像這樣 <%= link_to change_current_league_user_path(current_user,current_league_id:l.id),方法:: patch,class:'btn btn -default btn-sm'do%> – Navin
好的,thx。現在我已經在用戶控制器中試過了(檢查編輯)。但它更新字段爲零現在.. –