Честно говоря, я не уверен, что понимаю вопрос, но позвольте мне попробовать.
Допустим, у вас есть база данных, полная пользователей.Итак, имеем (обратите внимание, определены только минимальные поля):
Модель пользователя:
# fields name:string
class User < ActiveRecord::Base
has_many :statuses
end
Модель состояния:
# fields status:string
class Status < ActiveRecord::Base
belongs_to :user
has_may :status_comments
end
Модель StatusComment:
# fields comment:string
class StatusComment < ActiveRecord::Base
belongs_to :status
end
Тогда у вас должно быть текстовое поле, в которое вы пишете, чтобы изменить свой статус в поле зрения.Это на самом деле создает новый статус, который можно прокомментировать (чтобы вы могли отличить его от какого-то другого статуса).
Теперь, допустим, у вас есть @user = User.find(params[:id])
в вашем контроллере.
Тогда в вашемвид, ты должен сделать что-то вроде.Я не проверял его, но он должен работать или, по крайней мере, дать вам хорошее представление о том, что делать.
<h1><%= @user.name %></h1>
<%= form_for(@user.status.new) do |f| %>
<%= f.text_field :status, :value => @user.status.last.status %>
<%= f.submit %>
<% end %>
<div>
<%= @user.status.last %>
<% @user.status.last.comments.each do |comment| %>
<p>
<%= comment.comment %><%= link_to "Delete comment", comment, :method => delete, :confirm => "Are you sure?" %>
</p>
</div>
Это должно позволить вам:
- сохранять новый статус каждыйКогда вы отправите свою форму
- сможете удалить комментарии о статусе
Вы должны уточнить a), поскольку я понятия не имею, что вы пытаетесь с ней делать.