2017-02-02 17 views
0

invites_controller.rbВозможно ли каким-либо образом создать форму для каждого патриарха на индексной странице в Rails без javascript?

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 %> 

Что маршрутизация и предоставление форм будет?

пс: Я могу решить мою проблему, создав принять колонки в Пригласить модель и просто обновляя каждую позицию, как этот

<% @invites.each do |i| %> 
    <%= form_for(i) do |f| %> 
    <%= f.hidden_field :accept, value: true %> 
    <%= f.submit "accept" %> 
    <% end %> 
<% end %> 

но интересного другим способом))

ответ

0

Да, вы можете достичь его как

<% @invites.each do |i| %> 
    <%= form_for([i,i.answer.build]) do |f| %> 
    <%= f.text_field :name_of_you_answer_field %> 
    <%= f.submit %> 
    <% end %> 
<% end %> 

 Смежные вопросы

  • Нет связанных вопросов^_^