0 like 0 dislike
1 view
in ROR by anonymous Bilge (165k points)
rails helpers nasıl kullanılır ?

2 Answers

0 like 0 dislike
by anonymous Bilge (165k points)

Rails helper  metotları view sayfalarında kullanılan kod blokları için oluşturulmuştur. Böylece ortak kullanılan kod blokları tek bir yerde tanılanabilir. Built-in metotlar mevcuttur.

time_ago_in_words(Time.now)
# "less than a minute"
time_ago_in_words(Time.now + 60)
# "1 minute"
time_ago_in_words(Time.now + 600)
# "10 minutes"
number_to_human(10_000)
# # "10 Thousand"

Siz de kendi helper metotlarınızı yazarak views sayfaları üzerinden erişebilirsiniz.

module SampleHelper
  def format_name(user)
    if user.gender == "M"
      "Mr. #{user.name}"
    else
      "Ms. #{user.name}"
    end
  end
end

View sayfası içinde aşağıdaki şekilde kullanılabilir;

<%= format_user(user.gender) %>

Controller içinde kullanmak için "helpers" ifadesi kullanılır.

helpers.format_name
0 like 0 dislike
by anonymous Bilge (165k points)

Öneriler;

1- Helper metotlarınızı uygun isimlerde ve ortak özelliklere göre helper modellerinize gruplayınız. 

2- Her bir helper module uniq name olmalıdır. Ayrıca data alışverişi instance variable ile olmamalıdır. 

3- Mesaj olarak data verilmelidir.

# wrong way
def eat_healthy
  @fruit.eat
end
# do this instead
def eat_healthy(fruit)
  fruit.eat
end
...