使用自定义控制器功能提交表单

not*_*eek 4 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我开始在 Ruby On Rails 中开发一个小应用程序。我有一个简短的形式:

<%= form_for @event do |f| %>
    <%= f.fields_for :items do |item| %>
        <input type="number" id="quantity" />
<% end %>

<%= f.submit 'Join', :name => "join" %>
Run Code Online (Sandbox Code Playgroud)

我想在单击“提交”后,运行控制器的方法来访问表单中每个字段中包含的数据并在数据库上执行插入操作。

实际上,控制器调用的方法是“update”,但我想调用其他控制器的方法,因为 update 仅适用于事件创建者,因此其他用户无法提交表单。

如何自定义提交按钮的操作以运行控制器的功能(而不是更新)?

Ism*_*reu 5

<%= form_for @event, :url => { :action => "custom_update" } do |f| %>
Run Code Online (Sandbox Code Playgroud)

您可能还想指定方法

<%= form_for @event, :url => { :action => "custom_update" }, :html => { :method => "put" } do |f| %>
Run Code Online (Sandbox Code Playgroud)