我有控制器如下
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
所以你可以在模型中看到我有标志值默认'N'。如何更新控制器,以便如果标志值传递为true,则将其更新为Y,如果传递为false,则将其更新为N?
答案 0 :(得分:1)
flag = params[:flag] == '1' ? 'Y' : 'N'
@data = @user.city_details(params[:id].to_i, flag)
我假设你有某种复选框,它会返回'1'表示true,'0'表示false(通常情况下是rails)。如果没有,请根据需要更改params[:flag] == '1'
条件。