2013-08-29 171 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