我的问题是,当我尝试从 simple_form_for 表单调用指定方法时,它不起作用。
这是我的代码:
<%= simple_form_for @user, :url => {:action => :register_iban}, :html => { :method => :post } do |f| %>
<div class="col-md-8">
<%= f.input :first_name, :label => t('user-show.payment.form.first_name'), placeholder: "Prénom" %>
<%= f.input :last_name, :label => t('user-show.payment.form.last_name'), placeholder: "Nom" %>
<%= f.input :iban, :label => t('user-show.payment.form.iban'), placeholder: "IBAN" %>
<%= f.input :bic, :label => t('user-show.payment.form.bic'), placeholder: "BIC" %>
</div>
<div class="col-md-8 text-center">
<%= f.submit t('user-show.payment.title'), class: 'btn btn-danger' %>
</div>
<% end %>
因此,如您所见,我尝试从我的用户控制器调用 register_iban 方法。但是当我这样做时,我有一个错误:没有路由匹配 {:action=>"register_iban", :controller=>"users", :id=>"5", :locale=>nil}
每次我在控制器中创建一个新方法时,我必须在 routes.rb 文件中创建一个路由吗?在这里,我想制作这个网址:/users/5/register_iban(其中“5”是用户 ID)调用我的方法。
抱歉,但我从 ruby 开始,我很卡住:/