【问题标题】:How to create pages by the click of a link in ruby on rails?如何通过单击 ruby​​ on rails 中的链接来创建页面?
【发布时间】:2012-01-16 18:48:35
【问题描述】:

我正在关注本教程:http://railscasts.com/episodes/253-carrierwave-file-uploads 或至少我想但想知道是否有任何教程可以解释如何让我的用户能够即时创建页面(画廊)?

我打算将页面视为相册。 他们点击创建专辑链接,填写专辑标题。 创建了一个新页面,用户可以从该页面将照片上传到页面上。

亲切的问候

【问题讨论】:

  • 你卡在哪里???我刚刚看到了railscasts,它对我来说非常清晰。你能准确地说出你的问题是什么吗?
  • 我认为他没有展示如何为相册创建页面。当我开始观看 railscast 时,他们已经在那里了。
  • 真正虚构的 Gregory House 不必问。
  • 是的,因为他永远是对的并且什么都知道,但是是的,教程并没有告诉我如何创建画廊,这就是我卡住的地方。
  • 您可以下载railscast的源代码,然后查看。您会找到所需的一切。

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 rubygems


【解决方案1】:

相册和照片只是简单的模型。您可以为它们创建控制器。这是一个小例子:

class Album < ActiveRecord::Base
  belongs_to :user
  has_many :album_works
  validates :title, :description, :user_id, :presence => true
  attr_accessible :title, :description
end

对于专辑作品:

class AlbumWork <  ActiveRecord::Base
 belongs_to :album
 has_many :album_work_comments
 has_attached_file :photo,
                :styles => {
                    :preview=> "860x",
                    :slider =>  "618x246#",
                    :thumb => "315x197#",
                    :homework_main => "532x355#",
                    :homework_mini => "184x122#",
                    :big_preview => "800x600#"
                },
                :path =>  ":rails_root/public/system/album_works/:style_:id.:extension",
                :url => "/system/album_works/:style_:id.:extension",
                :default_url => "/images/photo_holder.png"

 validates_attachment_size :photo, :less_than => 2.megabytes
 validates_attachment_content_type :photo, :content_type => ['image/png', 'image/jpeg',            'image/jpg', 'image/bmp']
 attr_accessible :title, :photo
 validates :title, :album_id, :presence => true
end

现在您应该创建相应的控制器和视图。但它们只是简单的 Rails 控制器和视图。请注意,我使用的是回形针,但这只是一个示例,展示了它是如何完成的。

【讨论】:

  • 谢谢,正是我需要的。这足以让我继续。在我的例子中,我有一个 photo_gallery 模型,我要让它有很多相册,每个相册都会有很多相册 cmets 用于该相册中的照片。我想我可以使用 build 方法即时创建这些专辑?
  • 是的,您可以在您的案例中使用父模型的“build”方法创建相册。
  • 感谢我需要的确切答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-08
  • 2014-03-07
  • 2012-05-09
  • 2022-01-15
  • 1970-01-01
相关资源
最近更新 更多