ruby on rails - formularios - ¿Construir un segundo paso de una forma anidada?
rails formularios (0)
Intento construir una forma anidada con dos rumbos (= post do push do reviews) Y tengo este error:
Me gustaría saber si tengo las buenas prácticas para tener éxito en esta creación.
Mi código
Vistas / pushs / show:
<%= link_to ''Add comment'', new_post_push_review_path(@push.post_id, @push) %>
Revisiones / controlador:
class ReviewsController < ApplicationController
before_action :authenticate_user!
before_action :find_post
before_action :find_push
def new
@review = Review.new
end
def create
@review = @post.push.reviews.create(review_params)
@review.post_id = @push.post_id
@review.push_id = @push.id
@review.user_id = current_user.id
if @review.save
redirect_to push_path(@push.post_id, @push)
else
render ''new''
end
end
private
def review_params
params.require(:review).permit(:rating, :comment)
end
def find_post
@post = Post.find(params[:post_id])
end
def find_push
@post = Post.find(params[:post_id])
@push = Push.find(params[:push_id])
end
end
Vistas / comentarios / nuevos:
<%= simple_form_for([@post, @post.push.reviews.build]) do |f| %>
<%= f.input :rating %>
<%= f.input :comment %>
<%= f.button :submit %>
<% end %>
y las rutas:
resources :posts do
resources :pushs do
resources :reviews
end
end