Hallo ich möchte Kundenname in einer Tabelle einfügen, indem Sie Kundennummer verwenden, fügen Sie Kundenstadt in andere Tabelle ein. mein Code fügt nur Kunden ein. die Städte einfügen nichtFormulardaten in zwei Tabellen mit einer Eingabe in Schienen einfügen
meine Konsole
Gestartet POST "/ pages" für 127.0.0.1 bei 2017-01-30 14:40:15 +0530 Verarbeitung von PagesController # als HTML-Parameter zu erstellen: { "UTF-8" => "✓", "authenticity_token" => "NfyA8PpA4wZIAOPX7fYstwvt2suXoTYgl9ep1M6yTSh6ZPX8lt + oOfPX6sFXGOuxTidVND6qaksz6iZ2enGj9g ==", "Kunde" => { "name" => "fgfg", "custcity" => { "Städtename" => "2fg"}}, "commit" => "submit"} Unerreichter Parameter: custcity (0.1ms) begin Transaktion SQL (2.3ms) INSERT INTO "Kunden" ("name", "created_at", "updated_at") WERTE (?,?,?) [["Name", "fgfg"], ["created_at", 2017-01-30 09:10:15 UTC], ["updated_at “2017.01.30 09.10.15 UTC]] (231.7ms) Commit-Transaktion (0,2 ms) beginnen Transaktion (0,1 ms) Rollback-Transaktion Weitergeleitet http://localhost:3000/pages 302 in 247ms (Active gefunden Abgeschlossen: 234.3ms)
new.html.erb
<%= form_for @customer, url: {action: "create"} do |f| %>
<%= label_tag("Customer") %>
<br>
<%= f.text_field(:name) %>
<br>
<%= f.fields_for @custcity do |c| %>
<%= label_tag("City 1") %>
<br>
<%= c.text_field(:cityname) %>
<br>
<%= label_tag("City 2") %>
<br>
<%= c.text_field(:cityname) %>
<br>
<% end %>
<br>
<%= f.submit("submit") %>
<% end %>
pages_controller.rb
def create
@customer = Customer.new(cust_params)
if @customer.save
session[:customer_id] = @customer.id
#@custcity = Custcity.create(cityname: params[:customer][:cityname], cust_id: session[:customer_id])
@custcity = Custcity.create({cityname: params[:customer][:cityname], cust_id: @customer.id})
#@custcity.save
redirect_to pages_path
else
redirect_to new_page_path
end
end
private
def cust_params
params.require(:customer).permit(:name, :custcity => [])
end
end
Sie sollten stark verschachtelte Parameter verwenden und Kunden Stadt params in starken Parameter definieren. –