ruby-on-rails - 在 rails 中显示特定用户的博客文章

标签 ruby-on-rails ruby model-view-controller devise blogs

嗯,开始学习 Rails,当然是从编写带有个人博客的服务开始(比如 livejournal)。我有帖子脚手架和用户模型(感谢 Devise)。现在我正在尝试显示某些用户在 url 中使用类似/username/posts 的所有帖子,但我真的不明白如何制作这种 rails-way。 已经在路由中做了嵌套资源

resources :users do 
  resources :posts 
end

并连接用户和发布模型

has_many :posts

belongs_to :user

我应该为用户创建 Controller 吗?有什么正确的方法吗?

附言感谢你的回答。尝试研究 Rails,但我找到的几乎所有教程都以脚手架结束,这不是很有帮助。

编辑 1:多亏了“匹配”的想法,我解决了一半的问题。另一半( Unresolved )是选择特定用户写的帖子

编辑 2:添加

@user = User.where(:username => params[:username])
@posts = @user.posts

到 Controller ,但我在帖子 Controller 中有“未定义的方法‘帖子’”错误。

最佳答案

当您使用 where 时,您会从查询中获取对象数组,而不是单个对象。
因此,您的 @user 变量上没有 posts 方法。
也许你应该改成这样,只检索一个 user:

@user = User.find_by_username(params[:username])

这样你只有一个用户被查询并且你可以使用.posts relashionship没有错误。

关于ruby-on-rails - 在 rails 中显示特定用户的博客文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11888587/

相关文章:

mysql - 似乎无法使用 NHibernate 从 MySQL DB 中获取我的数据

ruby-on-rails - 有没有人用 Ruby 1.9.1 成功部署了 Rails 项目?

ruby - 用数组值反转散列

ruby-on-rails - jQuery AJAX to Rails 3,在Rails中如何获取通过数据传递的变量?

ruby-on-rails - 如何在服务器端使用 graphql-ruby 传递多部分表单数据和文件上传?

ruby - 在 Ruby 中,如何从数组中生成散列?

model-view-controller - MVC : Relationship between controller and model

java - 仅在业务逻辑中设置对象的属性?

javascript - ruby on Rails 无法正确加载 Node.js

ruby-on-rails - ruby on rails 中的自定义 url