次のようなhtmlがあります。
<div class="row well">
<form method="POST">
<ol id="velArea">
<li> Layer velocity: (m/s) <input type="text" name="source[]"> </li>
</ol>
<input type="button" value="Add another layer" name="velocity" onClick="addVel('velArea');">
</form>
</div>
そして、エリアにhtmlを追加するjavascript関数
function addVel(area)
{
var field_area = document.getElementById(area);
field_area.innerHTML += "<li> Layer velocity: (m/s) <input type='text' name='velocity'> <a style='cursor:pointer;color:grey;' onclick='this.parentNode.parentNode.removeChild(this.parentNode);''>delete</a> </li>";
}
Rails 関数の各入力フィールドの値を読み取る必要があります。そして、それを行う方法がわかりません。ブラウザ関連とサーバー関連を分離しておく方が良いと最終的に理解するまで、レールでアクティブなモデルを調べて何日も無駄にしました。そこで、JavaScript を少し学び、いくつかの関数を作成しました。はい、私は Web 開発の初心者です。Rails3.2を使用しています。
フィールド情報を使用したい関数は、ボタンによって呼び出されます。
<%= button_to "Run single inversion", {:action => "my_func", }, {:remote => true, :form => { "data-type" => "json" }, :class => "btn btn-primary"} %>
コントローラーの機能は次のとおりです。
def my_func
render :nothing => true
vel = params[:velocity]
puts vel.class
puts 'Hi'
end
私が得る出力は
NilClass
Hi
だから私は明らかに引数を正しく渡していません。button_to を使用するときは、post メソッドで速度配列を渡す必要があると思いますが、その方法がわかりません。
また、データベース指向のものではなく、入力の値が必要なので、activeRecord プロパティを使用して検索することはできません。