après essayer à plusieurs reprises avec de nombreux guides et problèmes résolus Im confus avec la façon de créer cette form_for, j'ai ce code ...form_for avec 2 erreurs d'objets lvl niché au fond de rubis
Routes
Rails.application.routes.draw do
get 'welcome/index'
resources :flows do
resources :fmodules do
resources :levers
end
end
root 'welcome#index'
end
welcome_index GET /welcome/index(.:format) welcome#index
flow_fmodule_levers GET /flows/:flow_id/fmodules/:fmodule_id/levers(.:format) levers#index
POST /flows/:flow_id/fmodules/:fmodule_id/levers(.:format) levers#create
new_flow_fmodule_lever GET /flows/:flow_id/fmodules/:fmodule_id/levers/new(.:format) levers#new
edit_flow_fmodule_lever GET /flows/:flow_id/fmodules/:fmodule_id/levers/:id/edit(.:format) levers#edit
flow_fmodule_lever GET /flows/:flow_id/fmodules/:fmodule_id/levers/:id(.:format) levers#show
PATCH /flows/:flow_id/fmodules/:fmodule_id/levers/:id(.:format) levers#update
PUT /flows/:flow_id/fmodules/:fmodule_id/levers/:id(.:format) levers#update
DELETE /flows/:flow_id/fmodules/:fmodule_id/levers/:id(.:format) levers#destroy
flow_fmodules GET /flows/:flow_id/fmodules(.:format) fmodules#index
POST /flows/:flow_id/fmodules(.:format) fmodules#create
new_flow_fmodule GET /flows/:flow_id/fmodules/new(.:format) fmodules#new
edit_flow_fmodule GET /flows/:flow_id/fmodules/:id/edit(.:format) fmodules#edit
flow_fmodule GET /flows/:flow_id/fmodules/:id(.:format) fmodules#show
PATCH /flows/:flow_id/fmodules/:id(.:format) fmodules#update
PUT /flows/:flow_id/fmodules/:id(.:format) fmodules#update
DELETE /flows/:flow_id/fmodules/:id(.:format) fmodules#destroy
flows GET /flows(.:format) flows#index
POST /flows(.:format) flows#create
new_flow GET /flows/new(.:format) flows#new
edit_flow GET /flows/:id/edit(.:format) flows#edit
flow GET /flows/:id(.:format) flows#show
PATCH /flows/:id(.:format) flows#update
PUT /flows/:id(.:format) flows#update
DELETE /flows/:id(.:format) flows#destroy
root GET / welcome#index
modèles
class Lever < ApplicationRecord
belongs_to :fmodel
end
class Fmodule < ApplicationRecord
belongs_to :flow
has_many :levers, dependent: :destroy
end
méthodes contrôleurs
class LeversController < ApplicationController
before_action :load_fmodule
# /flows/1/fmodules/1/levers/new
def new
@lever = @fmodule.levers.build
end
private
def load_fmodule
@fmodule = Fmodule.find(params[:fmodule_id])
end
end
la forme ...
<%= form_for ([@flow, @fmodule, @lever]) do |l| %>
Bien sûr, le [@flow, @fmodule, @lever]
est juste une hypothèse, je besoin d'aide ici. Im essayant de créer la vue new
avec un _form
qui contient le form_for
. Ill utiliser ce _form
dans le edit
et show
voir aussi
Je ne suis pas sûr de cela, il semble que tente de sauver une nouvelle 'flow' parce que maintenant Ruby dit est' param manquant ou la valeur est vide: flow'. Je fais la «vue» d'un «nouveau» levier dans ce cas – Pistorius
Rendez votre question plus claire. –
J'ai besoin de créer la vue 'new' pour 2 niveaux d'objets imbriqués profonds (levier), pour cela j'essaie de créer une forme_for comme je l'ai dans mon autre objet imbriqué (fmodel) mais c'était facile parce qu'un simple imbriqué (1 lvl). Voici le '<% = form_for ([@flow, @fmodule]) do | f | %> ' – Pistorius