pak*_*eha 8 ruby-on-rails actionview ruby-on-rails-3
我有一个button_to,我想执行PUT操作(只有一件事可以更新有关此资源 - 它将被更新为'已确认',因此没有其他表单字段与触发操作相关联).
这是在我看来(控制器是明确给出的,因为按钮位于属于另一个控制器的视图上):
<%= button_to "Acknowledged", :controller => 'practice_sessions', :id => @practice_session.id, :method => :put %>
Run Code Online (Sandbox Code Playgroud)
在我的路由文件中,资源已被声明为restful资源:
resources :practice_sessions
Run Code Online (Sandbox Code Playgroud)
此资源的控制器具有创建和更新操作,上面的button_to调用create操作.我希望它调用更新操作.
这是通过创建操作触发之前的日志来实现的:
Started POST "/practice_sessions?id=21&method=put" for 127.0.0.1 at 2010-11-17 08:52:46 +0000
Processing by PracticeSessionsController#create as HTML
Parameters: {"authenticity_token"=>"1EW0IlI38d0f4wST5azrCEZVZPfih7i0UvCGSF7eqbc=", "id"=>"21", "method"=>"put"}
Run Code Online (Sandbox Code Playgroud)
zet*_*tic 18
你的语法略有偏差. button_to有三个参数:按钮标题,options哈希和html_options哈希.:method=>:put需要进入html_options,而路线参数需要进入options.所以你可以像这样重写:
<%= button_to "Acknowledged", { :controller => 'practice_sessions',
:id => @practice_session.id},
:method => :put %>
Run Code Online (Sandbox Code Playgroud)
单击时,应处理请求 PracticeSessionsController#update
| 归档时间: |
|
| 查看次数: |
10499 次 |
| 最近记录: |