วันอังคาร, มีนาคม 10, 2552

เรียก controller method จากหน้า view

ปกติแล้วเราจะเรียก method ของ controller จากหน้า view ไม่ได้ วันนี้ได้ดู rails cast ถึงได้รู้ว่าถ้าใช้ method helper_method จะทำให้เราเรียก method นั้นจาก view ได้ เช่น เราสร้าง method foo แล้วบอกให้ method นี้เป็น helper_method

#blogs_controller.rb
...
def foo
  "bar"
end
...
helper_method :foo
จากนั้นทดลองเรียกใช้ในหน้า view

#index.html.erb


ตอนเรียกที่หน้า browser จะมีคำว่า bar ขึ้นมา แต่ถ้าไม่ใช้ helper_method มันจะขึ้น undefined local variable or method `foo' for # เพราะ rails หา method foo ไม่เจอ

blog comments powered by Disqus