在rails中定义非资源路由

时间:2013-08-06 06:06:30

标签: ruby-on-rails ruby

我想在rails中设置一个非资源丰富的路由,但我不知道如何。 Rails api说结构必须是这样的。发布'post/:id' => 'posts#create_comment'但是,我不确定我应该写什么。

我希望它发布到bankacctscontroller中的方法“addbank” 我将在localhost:3000 / bankaccts / new

页面上
def addbank
  if (params['customer_uri'])
    current_user.customer_uri = (params['customer_uri'])
  end
  if current_user.save
    redirect_to root_url, :notice => "bank account added"
  else
    render json: {error: "Payment account could not be configured properly"}, status: 401
  end 
end

2 个答案:

答案 0 :(得分:3)

定义自定义路由的格式有很多种。最精心的是:

<METHOD> 'PATH' => 'Controller#Action', :as => path_helper_name(:可选)

所以对于你的问题,它将是:

post '/bankaccts/:id' => 'bankaccts#addbank'

答案 1 :(得分:1)

如果您使用rails4.0,它将按如下方式编写:

get "/bankaccts/new", to: "bankaccts#new", as: :new_post

我建议您首先通过网站“http://guides.rubyonrails.org/routing.html

学习rails路由