私には「ローン」と呼ばれるモデルがあります。これには多くの:車両があります。ローンのモデル実装では、ネストされたフォーム(simple_form gemによって提供)を介して車両のネストされた属性を受け入れます。フォームビルダーネストフォームによる出力レコードID
class Loan < ApplicationRecord
has_many :vehicles
accepts_nested_attributes_for :vehicles
end
。
class LoansController < ApplicationController
def new
@loan = Loan.new
@loan.vehicles.build
end
def edit
@loan = Loan.find(params[:id])
@vehicle = @loan.vehicles
end
end
Edit.html.erb:
<%= simple_form_for @loan, :html => {:class => "loan-edit-form"} do |f| %>
<%= f.simple_fields_for :vehicles do |vehicle| %>
<%= render 'vehicle_fields_edit', :f => vehicle %>
<% end %>
<% end %>
_session_fields_edit.html.erb:問題は、私は車両のデータベースレコードのIDを表示できませんよです
<div class="nested_vehicle" data-id="<%= @vehicle.id %>">
<%= f.hidden_field :id, id: "vehicle_id", name: "vehicle_id" %>
<div class="divider-top"></div>
<div class="vehicle-number">
Vehicle <span class="vehicle-count-rails"><%= f.index + 1 %></span>
</div>
...... etc
</div>
簡単なフォームビルダーを使用していて、単に@loan.vehicles.each do |vehicle|
を使ってローンレコードをループしているわけではないので、私が "data-id"属性でやろうとしているように、ネストされたフォームを編集します。
私はレコードIDを表示することができますが、入力フォームフィールド項目内に表示されますが、data-id属性内で使用するにはID値のみを取得する必要があります。
私は<%= f.id %>
を試しましたが、フォームビルダーエラーが発生しました。私が記述したようにフォームビルダーを使ってレコードIDを取得するにはどうしたらいいですか?