Rails 3: добавление опции да / нет "рекомендуется" в сообщения пользователя - PullRequest
0 голосов
/ 03 октября 2011

Я новичок в рельсах и работаю над простым приложением, где пользователи создают посты с контентом, хе-хе-хе.Но так как я действительно новичок, у меня возникла путаница.Когда пользователи создают сообщение, я хочу, чтобы у него была «рекомендуемая опция» да / нет, по умолчанию - «нет».Поэтому, если пользователь хочет порекомендовать сообщение, он просто выбирает переключатель «Да», прежде чем отправить форму.У меня уже есть пользователь и модель поста, работающая над созданием поста с заголовком и телом.Отношение модели - это сообщения пользователя has_many, а сообщения принадлежат пользователю.

Я бы хотел сделать это по-настоящему простым и просто добавить атрибут "рекомендуемый" в модель поста, используя переключатели no / yes, которые по умолчанию имеютнет.Я запутался в помощниках по рельсам и в том, как добавить атрибут да / нет в мою пост-миграцию.Тогда как мне выбрать массив постов, которые рекомендуются конкретным пользователем @user?Большое спасибо!

1 Ответ

1 голос
/ 03 октября 2011

в миграции:

def self.up  
  add_column :posts, :is_recommended, :boolean, :default => false  
  add_column :posts, :message, :text  
end  

posts_controller.rb:

#rails 2 way:  
@recommended_posts = Post.find(:all, :conditions => {:is_recommended => true, :user_id => params[:user_id]}) 

#rails 3 way:  
@recommended_posts = Post.where(:is_recommended => true, :user_id => params[:user_id]) 

views / posts / new.html.erb: (используя check_box, а не radio_button)

<% form_for(@post) do |f| %>
  <p>
    <%= f.label :message %><br />
    <%= f.text_area :message %>
  </p>
  <p>
    <%= f.label 'Recommend' %><br />
    <%= f.check_box :is_recommended %>
  </p>
<% end %>
...