小编Jon*_*Jon的帖子

如何在Rails 3中为迁移添加新属性?

这是我的故事:我刚才有这样的设置.

  create_table(:users) do |t|
  t.database_authenticatable :null => false
  t.recoverable
  t.rememberable
  t.trackable

  t.integer :total_pageviews
Run Code Online (Sandbox Code Playgroud)

和"total_pageviews"工作正常.我可以将它设置为零,增加它,乘以它,调用它,无论如何.但是,我想说要添加:

  t.integer :total_votes
Run Code Online (Sandbox Code Playgroud)

如何将total_votes配置为属性我需要做什么?每当我尝试使用"total_votes"时,我都会得到未定义的方法错误.我认为答案就像耙子db:migrate或类似物.

migration ruby-on-rails ruby-on-rails-3

3
推荐指数
1
解决办法
4812
查看次数

Noob问题:Ruby on Rails中的类和实例方法

我在comments_controller.rb中有一个名为update_status的函数:

def update_status
  @comment.relative_value = @comment.points_up - @comment.points_down
  randomize!
end
Run Code Online (Sandbox Code Playgroud)

哪里 @comment = Comment.find(params[:id])

由于我设置网站的方式,我希望能够为任何评论c调用c.update_status.例如,在我的posts_controller中,我希望能够这样做:

def show
  @posts = Post.order('trending_value DESC').page(params[:page]).per(5)
  @post = Post.find(params[:id])
  @comments = @post.comments

  @comments.each do |c| #TODO: FIX
    c.update_status
    c.save
  end
end
Run Code Online (Sandbox Code Playgroud)

我如何让它工作?我一直得到未定义的方法错误# < Comment >.我必须这样做def self.update_status吗?这似乎也没有用.

ruby ruby-on-rails ruby-on-rails-3

3
推荐指数
1
解决办法
128
查看次数

Kaminari分页范围问题

在 Kaminari 中,这是有效的:

<%= paginate @posts %>
Run Code Online (Sandbox Code Playgroud)

但如果我做类似的事情:

<%= paginate @user.posts %>
Run Code Online (Sandbox Code Playgroud)

我明白了

undefined method `current_page' for #<Class:0x58378e0>      
Run Code Online (Sandbox Code Playgroud)

我该如何解决?我听说继承资源有帮助,但我不知道如何使用它来修复这个错误。

ruby pagination ruby-on-rails ruby-on-rails-3 kaminari

0
推荐指数
1
解决办法
2445
查看次数