У меня есть две модели с соответствующими контроллерами и видами: Profile
и Comment
.Отображение данных из двух моделей в одном виде
Весь вид (вся веб-страница) моей заявки находится в Profile
show.html.erb
. На этой странице пользователь должен иметь возможность создать комментарий, который belongs_to
a Profile
.
Как это можно сделать без перехода к стандартной странице /comments/new
?
Edit: После выполнения направляющих рельсов, я реализовал:
<%= simple_form_for([@profile, @profile.comment.build], html: {class: "form-inline"}) do |f| %>
<%= f.error_notification %>
<%= f.input :description, label: false, placeholder: 'Create an comment', input_html: { class: "span4" } %>
<%= f.submit 'Submit', class: 'btn btn-small'%>
<% end %>
CommentController
def create
@profile = profile.find(params[:profile_id])
@comment = @profile.comments.create(params[:comment])
redirect_to profile_path(@profile)
И я получаю эту ошибку:
undefined method `comment' for #<Profile:
Fixed : В заявлении сборки, комментарии должны были быть во множественном числе
@profile.comments.build
Посмотрите на это: http://guides.rubyonrails.org/getting_started.html#generating-a-controller – siekfried
Пожалуйста, см. Выше ошибку – mnort9
Вы забыли 's' на комментарий в своем объявлении формы:' <% = simple_form_for ([@ profile, @ profile.comments.build] ' – siekfried