2011-11-19 35 views
9

Tôi đang cố gắng thực hiện một hành vi tương tự như liên kết nhận xét về một câu hỏi trong Stack Overflow. Một lần nhấp phải ẩn div chứa liên kết "Thêm nhận xét" và hiển thị một div khác chứa biểu mẫu cho nhận xét mới.Làm thế nào để ẩn và hiển thị một div với coffeescript - Rails 3.1

Làm cách nào để thực hiện điều đó với coffeescript?

tôi đang cố gắng sau đó không làm việc:

jQuery -> 

    hide_comment_link =() -> 
    $('#add_comment_link').hide 
    hide_comment =() -> 
    $('#add_comment').hide 
    show_comment =() -> 
    $('#add_comment').show 

    $('#add_comment_link').click -> 
    hide_comment_link 
    show_comment 
    false 

View là:

#add_comment_link 
    #{link_to "Add a comment"} 
#add_comment 
    Add a comment in this div. 

Trả lời

13

Không giống như Ruby, CoffeeScript không cho phép bạn bỏ qua dấu ngoặc đơn từ chức năng/phương pháp gọi nếu có không có đối số. Bạn cần phải thêm chúng:

$('#add_comment_link').hide() 
hide_comment_link() 

Từ khóa do là một tùy chọn:

do $('#add_comment_link').hide 
do hide_comment_link 
+1

Rất cám ơn! Tôi cảm thấy rất đáng tiếc rằng câu hỏi ngớ ngẩn. Vâng, tôi hy vọng điều này sẽ hữu ích cho các nhà phát triển khác ... – obo

5

Tôi tin rằng vấn đề ở đây là một thiếu ngoặc:

hide_comment_link =() -> 
    $('#add_comment_link').hide() 
hide_comment =() -> 
    $('#add_comment').hide() 
show_comment =() -> 
    $('#add_comment').show() 

$('#add_comment_link').click -> 
    hide_comment_link() 
    show_comment() 
    false 

Chỉnh sửa: @Jeremy đánh bại tôi với số điện thoại

+0

Vâng. Cảm ơn bạn. – obo

Các vấn đề liên quan