【问题标题】:Rails 3: adding a yes/no "recommended" option to user postsRails 3:向用户帖子添加是/否“推荐”选项
【发布时间】:2011-10-03 02:21:25
【问题描述】:

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

我想保持它非常简单,只需在帖子模型中添加一个“推荐”属性,使用默认为“否”的“否”/“是”单选按钮。我对 rails 表单助手以及如何在我的迁移后添加是/否属性感到困惑。那么我将如何选择特定@user 推荐的一系列帖子? 非常感谢!

【问题讨论】:

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


    【解决方案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 %>
    

    【讨论】:

    • is_recommended 最好写成recommended,然后称为recommended?recommend?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多