Rails 3:在用户帖子中添加yes / no“recommended”选项

时间:2011-10-03 02:21:25

标签: ruby-on-rails forms ruby-on-rails-3.1 form-helpers

我是rails的新手,我正在开发一个简单的应用程序,用户可以使用内容创建帖子,呵呵。但是因为我是新手,所以我有些困惑。当用户创建帖子时,我希望他们有一个'推荐选项'是/否,默认为否。因此,如果用户想要推荐帖子,他只需在提交表单之前选择“是”单选按钮。我已经有用户和帖子模型工作来创建一个标题和正文的帖子。模型关系是用户has_many帖子,帖子belongs_to user。

我想保持它非常简单,只需在帖子模型中添加'推荐'属性,使用no / yes单选按钮,默认为no。我对rails form helper以及如何在post迁移中添加yes / no属性感到困惑。那么我如何选择特定@user推荐的帖子数组呢? 非常感谢!

1 个答案:

答案 0 :(得分:1)

在迁移中:

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