将值传递给控制器

时间:2013-08-29 09:19:10

标签: ruby-on-rails parameters action

我有一个视图,就像这样绑定元素上的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)

我还尝试将其置于隐藏值,然后将其从编辑控制器上的params中拉出来,但它似乎在编辑控制器上不可用,因为它呈现了一组新的页面。有任何想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

查询的参数可在params哈希

中找到

例如:

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

More on controllers here

此外,rails拥有整洁的助手,因此您不必编写大量的html:

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

Have a look here

相关问题