2013-08-29 170 views
0

我有一个视图,就像这样在元素上绑定一个id。传递值给控制器

<a href="/listings/edit"><li onclick="edit(<%=listing.id%>);"" class="edit-listing"></li></a> 

点击此项将进入我的列表/编辑编辑控制器并编辑视图。我想获取由href传递给我的列表控制器的列表ID。这里是我的控制器:

def edit 
    @listings = Listings.find_by(id: x)//x is my expected id 
end 

我累了改变我的代码到这个。

<a href="/listings/edit?listingid=<%=listing.id%>"><li onclick="edit(<%=listing.id%>);"" class="edit-listing"></li></a> 

def edit(listingid) 
@listings = Listings.find_by(id: listingid) 
end 

我创建了href作为查询字符串并将其传递给变量,但出现错误。错误的参数数量(0代表1)

我也尝试将它置于一个隐藏的值,然后从编辑控制器上的参数中拉出来,但它似乎无法在编辑控制器上使用,因为它呈现一个新的一页页。有任何想法吗?谢谢!

回答

0

查询的参数在params哈希

发现例如:

def edit 
    @listings = Listings.find_by(id: params[:listingid]) 
end 

More on controllers here

此外,轨道有着简洁的助手,这样你就不用写吨html:

<%= link_to edit_listing_path(listing) do %> 
    .... 
<% end %> 

Have a look here

+0

我尝试使用参数。但是,链接到另一个页面时似乎没有检索到它。 – ljpv14