我正在使用Rails 2.3,我不知道如何检索表单的text_field的值,以便在rjs文件中处理它。我整天都在互联网上搜索,但我找不到解决方案。
以下是我的代码更具体:
在我的form.erb文件中:
<%= observe_field 'issue_'+@issue.id.to_s+'_estimated_hours',
:url=>{:action => 'check_estimated_hours_field'},
:with => "'number=' + escape(value) +
'&fields_estimated_ids=#{@fields_estimated_ids}'"
%>
控制器:
def check_estimated_hours_field
@fields_estimated_ids = params[:fields_estimated_ids]
end
check_estimated_hours_field.rjs:
for @field_id in @fields_estimated_ids
# here I want to add all the values of fields and retrieve the result in a ruby variable
end
如何在check_estimated_hours_field.rjs的评论中设法解决我遇到的问题?
答案 0 :(得分:1)
经过多次测试和研究后,显然无法使用RJS恢复表单字段的值。 我找到的解决方案是创建一个包含observe_field中所有字段值的字符串,并将此字符串解析为RJS以检索如下值:
在我的form.erb文件中:
<% = observe_field 'issue_' + @issue.id.to_s +'_estimated_hours'
: url => {: action => 'check_estimated_hours_field'},
: with => "'number =' + escape (value) +
'& fields_estimated_values =' + $ ('my_form'). select ('[class ~ = estimated_hours]'). collect (function (n) {
return n.value + '_';
}) + "
%>
在控制器中:
def check_estimated_hours_field
estimated_hours_values = params [:estimated_hours_values].split('_')
@total_estimated_hours = 0
estimated_hours_values.each {| value |
@total_estimated_hours += hours.to_f
}
end
通过这种方式,我可以添加所有值并在变量@total_estimated_hours中检索它们