Rails: анализ пользовательских изменений на странице для вставки в базу данных - PullRequest
0 голосов
/ 14 января 2011

Кажется, я не могу сформулировать краткий вопрос, но в любом случае:

В настоящее время я пытаюсь написать приложение, которое позволяет пользователям настраивать сохранение своих статусов.Однако я не знаю, как передать настроенную информацию в действие контроллера.

Не нужно ли мне использовать link_to: controller => "controller,: action =>" create ",: params # => paramters

Я могу легко передать статус в виде объекта JSON, но как мне передать настройки?

a) я позволяю пользователям выбирать двух людей из множества людей, которым может показатьсятаким образом: Person A, Person B и еще 6 таким людям, поэтому я должен иметь возможность обновлять подобный массив

b) Я хочу разрешить пользователю удалять комментарии, поэтому у меня будетпередать массив оставшихся комментариев.

Кто-нибудь получил предложения?

1 Ответ

0 голосов
/ 14 января 2011

Честно говоря, я не уверен, что понимаю вопрос, но позвольте мне попробовать.

Допустим, у вас есть база данных, полная пользователей.Итак, имеем (обратите внимание, определены только минимальные поля):

Модель пользователя:

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

Это должно позволить вам:

  1. сохранять новый статус каждыйКогда вы отправите свою форму
  2. сможете удалить комментарии о статусе

Вы должны уточнить a), поскольку я понятия не имею, что вы пытаетесь с ней делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...