2017-03-27 1 views
0

I-Regler haben wie folgtÄnderungswert von param auf Eingabewert basierend geben

def city 
    params.require(:id) 
    begin 
    @data = @user.city_details(Integer(params[:id]), 
           params[:flag] 
    rescue ArgumentError => e 
    render_error(:bad_request, e.message) 
    end 
end 

model.rb

def city_details(id, flag = 'N') 
    StoredProcedure::User::GetCityDetails.exec!(
     id, 
     flag 
    ) 
    end 
end 

, so dass Sie in Modell sehen i-Flag-Wert default 'N' haben. Wie aktualisiere ich den Controller, so dass, wenn der Flag-Wert als wahr übergeben wird, er auf Y aktualisiert wird und wenn er falsch übergeben wird, dann auf N aktualisieren?

Antwort

1
flag = params[:flag] == '1' ? 'Y' : 'N' 
@data = @user.city_details(params[:id].to_i, flag) 

Ich gehe davon aus, dass Sie irgendeine Art von Kontrollkästchen, die zurückkehren wird ‚1‘ für wahr und ‚0‘ für falsch (Normalfall in Schienen). Wenn nicht, ändern Sie params[:flag] == '1' Bedingung zu Ihren Notwendigkeiten.

Verwandte Themen