2017-04-25 52 views
-1

我在控制器中定义了一种新方法,可以在点击搜索结果后为我的房屋显示自定义的显示页面。获取无路线匹配[GET]“/show_house_search.38”in rails

houses_controller.rb

def show_house_search 
    @house = House.find(params[:id]) 
    @photos = @house.photos 
    end 

然后我宣布路由routes.rb中

get '/show_house_search/:id', to: 'houses#show_house_search', as:'show_house_search' 

,当我使用它作为

<%= link_to show_house_search_path(house.id),id:'house_search' do %> 
<li id="house-<%= house.id %>"> 
    <span class="user" style="font-size: 15px;font-weight: 200;text-decoration: dotted;"><%= house.title %></span> 
    <span class="content"style="font-size: 15px;color: purple;font-weight: 600;">Price <i class="fa fa-inr"></i><%= house.price %></span> 
    <span class="badge"><%= house.house_structure%></span> </span> 
    <span class="badge"><%= house.location%></span> </span> 
</li> 
    <%end%> 

点击此链接显示为m E该错误:

Routing Error 
No route matches [GET] "/show_house_search.38" 

,同时我也搜索使用轨道路线我的请求路由

show_house_search_path GET  /show_house_search/:id(.:format) houses#show_house_search 
+0

你为什么不使用一个成员的行动?任何具体原因 –

+0

我已经使用它..但现在我想额外的显示方法来显示我的搜索结果,这就是为什么我创建自定义显示方法。 –

回答

1

请更改menthod

show_house_search_path(house.id) 

show_house_search_path(id: house.id). 

如routes.rb所示,路径为/show_house_search/:id(.:format),看起来id被认为是:format,因此作为(.id)附加到路由。

+0

这是不需要的,因为op评论但由于某种原因被删除。他忘记了重新启动服务器。 – Iceman

1

尝试下面的代码:

<%= link_to show_house_search_path(id: house.id) ,id:'house_search' do %> 
+0

这是不需要的,因为op评论但由于某种原因被删除。他忘记了重新启动服务器。 – Iceman

相关问题