私はレール上のルビーにはまったく新しいです... 私の_form.html.erb
にはcollection_select
フィールドがあります。このフィールドはProductというモデルから取り込まれています。製品の表の列はid, name, and price
です。コレクションからアイテム(製品)を選択すると、選択した製品の価格をテキストフィールドに入力したいと考えています。項目を選択する際次の場合にrubyメソッドを呼び出す方法:onchangeイベントがトリガされる(ruby on rails 4)?
これまでのところ、私は次のコードIOTを持って、イベントをトリガ:
<%= collection_select(:warehouse, :product_id, Product.all, :id, :name, {}, {:onchange => "alert('Hello World');"})%>
は、どのように私は私が選択した製品の対応する価格でtext_fieldを移入聞かせルビーメソッドを呼び出すことができますか?私は何かなどを考えていた方法については
...
def set_price
@price = Product.find(params[:id]).price
end
AJAXなしでこれを実行する別の方法がありますか? C#では、コールバックを使用してコントロールイベントを処理するこのタスクを実行できました。 Rubyのコールバックを使ってcollection_selectイベントを処理することは可能ですか?必要なものを達成するためのベストプラクティスは何ですか? –
'ASP.net'のコールバックシステムはAJAXにも基づいています(クライアントサイドスクリプト言語としてjavascriptを選択した場合)。詳細については、[https://msdn.microsoft.com/en-us/library/ms178208.aspx](https://msdn.microsoft.com/en-us/library/ms178208.aspx)を参照してください。 – Aetherus
あなたは絶対に正しいです。私はそのアプローチを試みるつもりです。あなたのお手伝いをありがとうございますAetherus –