モデルのページに、「ChoosePicture」と「TakePicture」の2つのリンクが表示されています。画像を選択した後、正常にそのページに戻り、選択した画像が正しく表示されています。ただし、[写真を撮る]をクリックすると、カメラが開き、写真を撮ります。呼び出しページに画像が表示されて読み込まれ、すぐにそのモデルのインデックスページが表示されます。
どちらの手順も同じですが、一方が「take_picture」を呼び出し、もう一方が「choose_picture」を呼び出すという変更のみがあります。2番目のケースでアプリがモデルのインデックスページにリダイレクトする理由を誰かに教えてもらえますか?
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>
===============
ログ:
I 09/09/2010 07:23:08:83 7a934000 RHO PropertyCon | レイアウトファイル:/apps/app/layout_erb.iseq。コンテンツサイズ:2202
I 09/09/2010 07:23:08:83 7a934000 APP | RhoApplication:メニューの使用-{"Home" =>:home、Refresh "=>:refresh、" Sync "=>:sync、" Options "=>:options、" Log "=>:log、:separator => nil 、"閉じる" =>:close}
I 09/09/2010 07:23:08:83 7a934000 RhoConnection | 発送終了
I 09/09/2010 07:23:08:161 7a934000 RhoConnection | 出撃開始
I 09/09/2010 07:23:08:223 7a934000 APP | RhoApplication:メニューの使用-{"Home" =>:home、 "Refresh" =>:refresh、 "Sync" =>:sync、 "Options" =>:options、 "Log" =>:log、:separator => nil、 "Close" =>:close}
I 09/09/2010 07:23:08:223 7a934000 APP | RHO.serve_index内:/apps/app/index_erb.iseq
I 09/09/2010 07:23:08:223 7a934000 RHO Rho :: RhoCon | inst_render_index