是否可以在 Rails 的索引页上以某种方式在没有 javascript 的情况下为每个父子创建表格?
Is it possible somehow to create the form for each patrial on the index page in Rails without javascript?
invites_controller.rb
def index
@invites = Invites.all
end
invite.rb
has_one :answer
answers_controller.rb
def new
@invite = Invite.find(params[:invite_id])
@answer = @invite.build_answer
end
def create
@invite = Invite.find(params[:invite_id])
@answer = @invite.create_answer
redirect_to :back
end
answer.rb
belongs_to :invite
routes.rb
resources :invites, only: [:index] do
resources :answers, only: [:new, :create]
end
是否可以创建 invites/index.html,其中每个行项目都将存在没有任何答案的工作表单 javascript?
像这样的逻辑:
<% @invites.each do |i| %>
<%= form_for(i, i.build_answer) do |f| %>
<%= f.hidden_field :accept, value: true %>
<%= f.submit "accept" %>
<% end %>
<% end %>
表单的路由和渲染是什么?
ps:我可以通过在 Invite 模型中创建接受列并像这样简单地更新每个订单项来解决我的问题
<% @invites.each do |i| %>
<%= form_for(i) do |f| %>
<%= f.hidden_field :accept, value: true %>
<%= f.submit "accept" %>
<% end %>
<% end %>
但其他方式很有趣))
是的,你可以实现它
<% @invites.each do |i| %>
<%= form_for([i,i.answer.build]) do |f| %>
<%= f.text_field :name_of_you_answer_field %>
<%= f.submit %>
<% end %>
<% end %>
invites_controller.rb
def index
@invites = Invites.all
end
invite.rb
has_one :answer
answers_controller.rb
def new
@invite = Invite.find(params[:invite_id])
@answer = @invite.build_answer
end
def create
@invite = Invite.find(params[:invite_id])
@answer = @invite.create_answer
redirect_to :back
end
answer.rb
belongs_to :invite
routes.rb
resources :invites, only: [:index] do
resources :answers, only: [:new, :create]
end
是否可以创建 invites/index.html,其中每个行项目都将存在没有任何答案的工作表单 javascript?
像这样的逻辑:
<% @invites.each do |i| %>
<%= form_for(i, i.build_answer) do |f| %>
<%= f.hidden_field :accept, value: true %>
<%= f.submit "accept" %>
<% end %>
<% end %>
表单的路由和渲染是什么?
ps:我可以通过在 Invite 模型中创建接受列并像这样简单地更新每个订单项来解决我的问题
<% @invites.each do |i| %>
<%= form_for(i) do |f| %>
<%= f.hidden_field :accept, value: true %>
<%= f.submit "accept" %>
<% end %>
<% end %>
但其他方式很有趣))
是的,你可以实现它
<% @invites.each do |i| %>
<%= form_for([i,i.answer.build]) do |f| %>
<%= f.text_field :name_of_you_answer_field %>
<%= f.submit %>
<% end %>
<% end %>