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 をクエリ文字列として作成し、変数に渡しましたが、エラーが発生しました。引数の数が間違っています (1 に対して 0)

また、それを非表示の値に設定してから、編集コントローラーのパラメーターから取得しようとしましたが、新しいページのセットをレンダリングするため、編集コントローラーでは使用できないようです。何か案は?ありがとう!

4

1 に答える 1

0

クエリのパラメーターはparamsハッシュにあります

例えば ​​:

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

コントローラーの詳細はこちら

また、Rails には適切なヘルパーがあるため、大量の html を記述する必要はありません。

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

こちらをご覧ください

于 2013-08-29T09:29:25.370 に答える