以下是高手Cowoo给的关于那个传值总带“=”号的解决办法:
<%= observe_field(:pda_cDepCode,:frequency => 0.5,
:update => "person",:url => {:action => "getPerson"},:with => "code")%>
这里用with作为参数名传过去,就可以在getPerson里面直接用@params[:code]来获得参数。
之前总有一个等号的原因可能也跟这个有关,因为parameters都是用一个hash table里面传过去的,没有指定参数的情况下,就有一个等号吧,细节可以参阅rails的文档。
然后getPerson方法就变成
def getPerson
@staffers = Staffer.find(:all,:conditions=>["cDepCode=?",@params[:code]])
if @staffers.length!=0
render :inline=> %{<%= collection_select(:sgda, :cPerson, @staffers , :cPerson, :cPerson) %>} #如果有员工就以下拉表显示
else
render :inline=> "该部门没有员工 点击添加"
end
end
看来以后得时时把Rails DOC放旁边。
