В контроллере событий есть действие remove_attendee.Я передаю ему: user_id пользователя для удаления и: id события для удаления пользователя из.
По сути, я хочу дважды проверить, что пользователь, которого запрашивают на удаление, является current_user.Вы должны быть в состоянии удалить себя только из события.Мой маршрут настроен так:
post "/remove_attendee/:user_id" => "events#remove_attendee", :as=>:remove_attendee
, тогда я передаю current_user.id как: user_id как таковой:
<%= button_to 'Decline Event', remove_attendee_event_path(:user_id => @current_user.id),
:method => :post,
:class => "button" %>
Однако, когда я проверяю дважды: user_id == current_user.идентификатор в моем контроллере событий, он не работает:
def remove_attendee
session[:return_to] = request.referrer
@event = Event.find(params[:id])
if params[:user_id] == current_user.id
if @event.remove_attendance(params[:user_id])
flash[:success] = "User removed from event."
else
flash[:error] = "Could not remove user"
end
else
flash[:error] = "Could not remove user"
end
redirect_to session[:return_to]
end
В конечном итоге я хочу, чтобы владелец события (@ event.owner_id) мог также удалять участников ... но это та часть, котораяломаетсяЭто должно работать ... Я проверяю значение, которое я только что передал.Я помещаю некоторую отладочную информацию в:
def remove_attendee
session[:return_to] = request.referrer
@event = Event.find(params[:id])
flash[:pass] = false
flash[:test1] = params[:user_id]
flash[:test2] = current_user.id
if params[:user_id] == current_user.id
flash[:pass] = true
if @event.remove_attendance(params[:user_id])
flash[:success] = "User removed from event."
else
flash[:error] = "Could not remove user"
end
end
redirect_to session[:return_to]
end
, когда страница перезагружается после запуска remove_attendee,: pass = false,: test1 = 1,: test2 = 1.
как это возможно, чтоэто не проходит?