在模型的页面上,我显示了两个链接“选择图片”和“拍照”。选择图片后,我成功返回该页面,并且选择的图像正确显示。但是,当我单击“拍照”时,相机打开,我拍照,调用页面加载显示的图像,然后立即显示该模型中的索引页面。
这两个程序都是相同的,只是一个调用“take_picture”,另一个调用“choose_picture”,有人能告诉我为什么在第二种情况下应用程序重定向到模型中的索引页面吗?
abc_controller.rb:
def takepic
$id = @params['id']
Camera::take_picture(url_for :action => :camera_callback)
end
def choosepic
$id = @params['id']
Camera::choose_picture(url_for :action => :camera_callback)
end
def camera_callback
if @params['status']='ok'
@abc = Abc.find($id)
new_attributes = {"q1img"=>@params['image_uri']}
@abc.update_attributes(new_attributes ) if @abc
@abc.save
WebView.navigate( url_for :action => :mypage, :query => {:id =>
$id})
end
end
调用页面:mypage.bb.erb
<tr>
<td class="itemLabel">
<%= link_to '[Choose Picture]', :action => :choosepic , :query
=> { :id => @property.object } %>
</td>
<td class="itemValue">
<% if System::get_property('has_camera') %>
<%= link_to '[Take Picture]', :action => :takepic, :query =>
{ :id => @property.object } %>
<% end %>
</td>
</tr>
================
日志:
我 09/09/2010 07:23:08:83 7a934000 RHO PropertyCon| 布局文件:/apps/app/layout_erb.iseq。内容大小:2202
我 09/09/2010 07:23:08:83 7a934000 应用程序| RhoApplication: 使用菜单 - {"Home"=>:home, Refresh"=>:refresh, "Sync"=>:sync,"Options"=>:options, "Log"=>:log, :separator=>nil , "关闭"=>:关闭}
我 09/09/2010 07:23:08:83 7a934000 RhoConnection| 调度结束
我 09/09/2010 07:23:08:161 7a934000 RhoConnection| 调度开始
我 09/09/2010 07:23:08:223 7a934000 应用程序| RhoApplication: 使用菜单 - {"Home"=>:home, "Refresh"=>:refresh, "Sync"=>:sync, "Options"=>:options, "Log"=>:log, :separator=>无,“关闭”=>:关闭}
我 09/09/2010 07:23:08:223 7a934000 应用程序| 在 RHO.serve_index 内:/apps/app/index_erb.iseq
我 09/09/2010 07:23:08:223 7a934000 RHO Rho::RhoCon| inst_render_index