Ruby on rails发布请求路由

时间:2014-12-07 22:29:38

标签: ruby-on-rails ruby-on-rails-4 rails-routing http-post

我是铁轨上红宝石世界的新手,并试图了解路由的工作原理。我读了一些关于它的文章,但我不清楚 如果我有一个页面,带有邮件发件人表单并尝试通过邮件发送数据,我必须像这样设置路径sg:

post '/send', to: 'message#send'

用它可以正常工作。但是,如果我有另一个页面与另一个表单,我想将它链接到另一个控制器/动作(也请求后)。怎么能在两个帖子之间做出区分?

1 个答案:

答案 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'