我是铁轨上红宝石世界的新手,并试图了解路由的工作原理。我读了一些关于它的文章,但我不清楚
如果我有一个页面,带有邮件发件人表单并尝试通过邮件发送数据,我必须像这样设置路径sg:
post '/send', to: 'message#send'
用它可以正常工作。但是,如果我有另一个页面与另一个表单,我想将它链接到另一个控制器/动作(也请求后)。怎么能在两个帖子之间做出区分?
答案 0 :(得分:0)
您可以传递一些特殊参数并在控制器中检查它的值,例如:
class MessageController < ApplicationController
def send
if params[:kind] == 'some_value'
do_one_thing
else
do_anoter_thing
end
end
end
但在这种情况下,你的行为会变得肥胖和丑陋。因此,我建议您以自然的方式创建新动作并分离逻辑:
post '/my_send_from_one_place', to: 'message#my_send_from_one_place'
post '/my_send_from_secong_place', to: 'message#my_send_from_secong_place'