J'ai 2 tables, landslides
et sources
(peut-être ne se rapportent pas les uns aux autres). Je veux un formulaire qui permet à l'utilisateur de remplir des informations et ensuite soumettre aux deux tables. Voici ma forme actuelle sans sources
champs:Soumettre un formulaire à 2 tables dans la base de données - ruby sur les rails
= form_for :landslide, :url => {:controller => 'landslides', :action => 'create'} do |f|
.form-inputs
%form#landslideForm
.form-group.row
%label.col-sm-2.col-form-label{for: "textinput"}Date
.col-sm-10
= f.date_select :start_date, :class => "form-control"
#Some fields
.form-actions
= f.button :submit, class: "btn btn-lg btn-primary col-sm-offset-5", id: "submitButton"
et paramètres:
def landslide_params
params.require(:landslide).permit(:start_date, :continent, :country, :location, :landslide_type, :lat, :lng, :mapped, :trigger, :spatial_area, :fatalities, :injuries, :notes)
end
def source_params
params.require(:source).permit(:url, :text, :landslide_id)
end
Il y a aussi une colonne dans sources
appels landslide_id
qui prennent l'ID de glissement de terrain de la table landslides
. Donc, quand un utilisateur soumet un nouveau glissement de terrain, comment puis-je prendre l'ID de glissement de terrain à venir (qui est l'incrémentation automatique, l'utilisateur n'a pas besoin de remplir)?
Merci!
Merci. Cette réponse est vraiment détail. Cependant, j'ai toujours l'erreur 'paramètre non autorisé trouvé: sources' –
Posez une nouvelle question avec ceci comme point de départ si vous voulez l'aide de débogage. – max
Je pense qu'il s'agit de source/sources, si un glissement de terrain a de nombreuses sources, ai-je besoin de changer chaque source pour les sources? –