我正在尝试在我的控制器中定义方法send
:
class InvoicesController < ApplicationController
def send
end
end
但是,当我这样做时,我收到错误wrong number of arguments (2 for 0)
。
所以我假设send
是Rails中的保留字?
无论如何,在我的控制器中定义send
方法可能是一种可能的解决方法。
感谢任何想法。
答案 0 :(得分:1)
您无法调用方法&#39;发送&#39;在红宝石。发送是一种对象方法
发送(* args)public
调用符号标识的方法,传递它 指定的任何参数。如果名称发送冲突,您可以使用发送 使用obj中的现有方法
答案 1 :(得分:0)
您在控制器中无法使用send
方法的原因是send
已经是ruby Object类的方法。
然而,从稍微不同的角度来看问题,在这种情况下我可以看到为方法指定特定名称的主要原因是在路由中获取该名称,以便您可以拥有,例如:{{ 1}}或RESTful资源http://localhost:3000/invoices/send
。
在这种情况下,您可以随意调用该方法,并添加一个名为/invoices/123/send
的路径来指向您的方法。
所以,在你的控制器中:
send
然后在class InvoicesController < ApplicationController
def send_invoice
...
end
end
:
config/routes.rb
或者对于发票资源:
get 'invoices/send', to: 'invoices#send_invoice'
答案 2 :(得分:0)
我会考虑将其称为Heroku local:run node index.js
或post
而不是