2014-11-13 3 views
0

max_users 메서드를 설정하려고합니다. 하드웨어와 소프트웨어의 두 가지 유형이 있는데 하드웨어를 1로 설정하고 소프트웨어를 무제한으로 설정하려고합니다 (결국 사용자는 원하는 최대 사용자 수를 양식 필드에서 선택할 수 있지만 지금은 무제한입니다)RoR : 무한대의 값이 있습니까?

. 어떤 도움이 많이 감사합니다 이

사전에 감사

여기 내 모델 코드입니다 :. 나는 동적으로 누에 고치와 양식 필드를 추가 사용하고

def set_max_users 
    if max_users.nil? 
    self.max_users = 1 
    end 
end 

그리고 내 JS (경우에이 도움이 될 것이다 전혀) :

$ -> 
    check_to_hide_add_link = -> 
    max_users = parseInt($("#asset_max_users").val(), 10) 
    if $("#assets_users .nested-fields").length >= max_users 
     $("#assets_users .links a").hide() 
    else 
     $("#assets_users .links a").show() 

    $("#assets_users").bind "cocoon:after-insert", -> 
    check_to_hide_add_link() 

    $("#assets_users").bind "cocoon:after-remove", -> 
    check_to_hide_add_link() 

    check_to_hide_add_link() 

답변

4

는 질문 여기에 대답 How to express infinity in Ruby?

만의 짧은이다 : 당신이 루비에서 무한대를 사용할 수 있지만

Float::INFINITY

+0

감사합니다. 나는 무한 성을 가질 방법이 없다는 말을 들었지만, 지금 나는 거기 있다는 것을 안다. – Briknthewall

+0

도와 줘서 기쁩니다! 건배. – aspencer8111

0

, 당신은 DB에 무한대 값을 저장할 수 없습니다. 해결 방법으로 0으로 설정할 수 있습니다 (max_user를 0으로 설정하지 않아도되는 경우 nil/empty 값을 사용할 수 있음). 결과적으로 값이 0인지 확인해야합니다. 0이면 무한이며 더 많은/더 적은 다른 값을 확인할 필요가 없습니다. 또 하나의 문제가 해결 될 것입니다. 사용자는 Infinity를 숫자 필드 값으로 설정할 수 없습니다.

check_to_hide_add_link = -> 
    max_users = parseInt($("#asset_max_users").val(), 10) 
    if max_users isnt 0 and $("#assets_users .nested-fields").length >= max_users 
    $("#assets_users .links a").hide() 
    else 
    $("#assets_users .links a").show()