我只是想知道rails是否有任何内置的方法来确定动作名称(?)的正确http方法(获取,发布,放置,删除)
所以,例如,如果我要输入“new”作为动作,那么rails有没有办法实现它应该通过“get”来请求?
如果没有,第二个问题......我尝试手动创建一个哈希,将静态操作映射到默认方法 - 具体来说:
actionhash = {
:index => get,
:show => get,
:new => get,
:create => post,
:edit => get,
:update => put,
:delete => delete
}
然后使用(如果action =:show)
调用该哈希actionhash[action] action, :id => 123
困难在于当我使用'get'值创建哈希时,它会返回:
未定义的局部变量或方法`get'用于#>
因此,假设没有内置的方法来确定正确的方法,我如何将http方法输入哈希?
答案 0 :(得分:1)
actionhash = {
:index => :get,
:show => :get,
:new => :get,
:create => :post,
:edit => :get,
:update => :put,
:delete => :delete
}
send(actionhash[action], :id => 123)
但是,丑陋。