2014-03-26 51 views
0

在我的pending request页我有一些请求,我从其他用户那里获得这两个按钮连接acceptcancel,当我点击接受按钮,然后请求是接受以下是接受请求的创建方法没有路线匹配轨道上的红宝石灯[0123]

def create 
    @user = Userrequest.select(:RequestFrom).where('RequestTo = ? AND IsApproved = ?', current_user.id, "0") 
    requestfrom = @user.RequestFrom 
    Userrequest.update_attributes('RequestFrom = ? AND RequestTo = ? AND IsApproved = ?', requestfrom,current_user.id,"1") 
    @user_request = Userrequest.new(:RequestFrom => requestfrom , :RequestTo => current_user.id , :IsApproved => "1" , :SkillType => "") 
    @user_request.save 
    redirect_to '/default' 
    end 
在创建方法

的代码,我做接受请求,工作和接受请求后,它应该重定向到default页。但是,当我点击接受按钮,它使我的错误如下:

No route matches [POST] "/pendingrequest" 

并且在下面的路线:

match '/pendingrequests', to: 'static_pages#create', via: 'get' 

而下面是我接受请求按钮:

<table width="50%"> 
    <tr> 
     <td align="center"> 
     <div class="button"> 
      <%= button_to "Accept", '/pendingrequests', { method: :get, :class => "buttonblck" } %> 
     </div> 
     </td> 
    </tr> 
</table> 

Kindle的建议我在哪里犯错,等待你的回复。

感谢

回答

0

可以在终端上键入以下命令:

rake routes 

它往往有助于我们理解为什么没有路线MATHES。

尝试这场比赛

match '/static_pages', to: 'static_pages#create', via: :get, as: '/pendingrequests' 

match '/static_pages', to: 'static_pages#create', via: :post, as: '/pendingrequests' 

match '/static_pages', to: 'static_pages#create', via: :all, as: '/pendingrequests' 
0

没有路由匹配[POST] “/ pendingrequest”

HTTP方法是POST,但你所定义的路由使用get

变化via: 'get'via: 'post'

match '/pendingrequests', to: 'static_pages#create', via: 'post' 
+0

钢轨4,你可以直接写'后 '/ pendingrequests',到:“static_pages#创建' – Oxynum

+0

它不起作用 – user88

0

你可以这样

按钮改变

<%= button_to "Accept", "/pendingrequests", method: :post %> 

路线

post '/pendingrequests', to: 'static_pages#create'