[英]How to write a method in a ruby controller and then to the “:value =>” of a text_field
我對在軌道上使用 ruby 進行編程非常陌生。
我需要在 text_field 中編寫一個更改默認值的方法。 它應該看起來像這樣:
count = 0
def value()
{
count++
value = ""
if count == 1
value = "Pre-Sales"
elsif count == 2
value = "Project"
etc...
end
return value
}
end
這應該意味着每次運行該方法時,計數都會增加 1。我在這里調用該方法:
<p class="fields">
<%= f.label :task_name, "Task Name" %>
<%= f.text_field :task_name, :value => value %>
<%= link_to_remove_fields "remove", f %>
</p>
它在里面也是一個部分......我知道我在這里失蹤了很多,需要有人幫忙。
我有一種感覺,您正在做一些瘋狂的事情/“不是 Rails 方式”。
好的,所以您輸入一個頁面並呈現您的表單。 我猜您正在使用 form_for 助手,而 a:task_name 是 db 中與某些 model 相關的字段,對嗎? 背后的原因是什么:
<%= f.text_field :task_name, :value => translated_1 %>
<%= f.text_field :task_name, :value => translated_2 %>
<%= f.text_field :task_name, :value => translated_3 %>
<%= f.text_field :task_name, :value => translated_4 %>
<%= f.text_field :task_name, :value => translated_5 %>
?
我不明白,但假設你的段落是部分的。 你可以這樣做:
5.times do |i|
render :partial => "this_is_crazy", :locals => {:i => i, :f => f}
end
然后在這個部分里面你會有你的:
<p class="fields">
<%= f.label :task_name, "Task Name" %>
<%= f.text_field :task_name, :value => get_default_value(i) %>
<%= link_to_remove_fields "remove", f %>
</p>
然后你會使用一個案例或一堆ifs在“helpers/crazy_helper.rb”中定義你的get_default_value(i)
......(這是一種可能性,而不是建議或我會這樣做的方式)
但是,我再次感覺到你做錯了什么......也許我發布了更多關於你的問題的內容,我會讓你回到正確的軌道上:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.