Ruby on rails RubyonRails:两种不同的;新";行动

Ruby on rails RubyonRails:两种不同的;新";行动,ruby-on-rails,ruby,ruby-on-rails-4,crud,Ruby On Rails,Ruby,Ruby On Rails 4,Crud,在我的交易控制器中,我有操作“追加”和“购买”。两者都在做类似于“新”行动的事情 在我的“视图”控制器中,我有“提交”按钮,在这两个视图中,这些按钮都会导致“创建”操作 如何设置它?最简单的方法是在两个位置使用相同的表单 在每个操作的控制器中,创建一个新事务 基于补足或购买所需的属性 def topup ... @transaction = Transaction.new end def purchase ... @transaction = Transaction.new e

在我的交易控制器中,我有操作“追加”和“购买”。两者都在做类似于“新”行动的事情

在我的“视图”控制器中,我有“提交”按钮,在这两个视图中,这些按钮都会导致“创建”操作


如何设置它?

最简单的方法是在两个位置使用相同的表单

在每个操作的控制器中,创建一个新事务 基于补足或购买所需的属性

def topup
  ...
  @transaction = Transaction.new
end

def purchase
  ...
  @transaction = Transaction.new
end
然后在视图中

<%= form_for @transaction do |form| %>
... needed fields
<% end %>

... 需要的领域

您可以自己设置
表单操作url
。只需为这两个表单提供
:url
参数

例如:

<%= form_for :your_resource, url: create_path do |f| %>
    ...
<%= end %>

表单帮助程序
在中有详细描述。

请为您的控制器、路由文件和视图提供一些示例代码。
post 'create', as: create  # <= This is just an example for your routes!