2014-09-30 93 views
1

我想在我的視圖裏面的form_for中使用ApplicationHelper中的方法。這可能是一個愚蠢的問題,但我無法在互聯網上找到如何做到這一點的幫助。這裏是我的代碼:如何在form_for中使用應用程序幫助器方法

的意見/ admin_courses/new.html.erb

<%= form_for @course do |f| %> 
    <%= f.label :name, "User name:" %> 
    <%= f.tester("test") %> 
<% end %> 

傭工/ application_helper.rb

module ApplicationHelper 
    def tester(name) 
    test = name + "!" 
    test 
    end 
end 

所以這是行不通的。但如果我做<%= tester("test") %>那麼它的作品。不過,我需要在f上執行此操作。我怎樣才能做到這一點?任何幫助,將不勝感激。我覺得我不瞭解某些東西。

+1

你是什麼意思「但是,我需要做這個f」?測試者方法不依賴於任何形式的東西......你想要完成什麼? – 2014-09-30 22:01:08

+0

你究竟想要做什麼?自動完成一個值爲「test!」的輸入字段? – JTG 2014-09-30 22:01:48

+1

考慮'f'是'Form'對象的一個​​實例。它響應自己的方法,所以它永遠不會迴應你自己創建的任意方法 – PericlesTheo 2014-09-30 22:25:54

回答

1

如果您嘗試覆蓋form_for中的默認值,則可以設置value屬性。

<%= form_for @course do |f| %> 
    <%= f.label :name, "User name:" %> 
    <%= f.text_field :name, value: tester('test') %> 
<% end %> 

這應該覆蓋默認值(在這種情況下爲@course.name)。

相關問題