Reddit型の入れ子/ネジ付き/インデントコメントのためのレール?
-
19-08-2019 - |
質問
った人が既にシステム構築のためのネジ付きコメント(ない)、レールやまの構築が必要です。
る場合であって、必ずしも明確ではないものの、かというのはコメントシステムのようにRedditの自動indentsの回答そのように表示さ枝(好ましくは投票してRedditい).
だれでもコードするこうぞよろしくお願い申し上げます。
まあ、オープンソースプロジェクトことが可能です。
私がこれまでできていないので見にします。
また、それぞれの説明をよく聞こにレールフォーラムだとすれば、それはどれ?(今回が初めてレール)
解決
を使用 acts_as_tree
プラグインをなすべきこります。インストールで使用
ruby script/plugin install acts_as_tree
app/models/comment.rb
class Comment < ActiveRecord::Base
acts_as_tree :order => 'created_at'
end
db/migrate/20090121025349_create_comments.rb
class CreateComments < ActiveRecord::Migration
def self.up
create_table :comments do |t|
t.references :parent
t.string :title
t.text :content
...
t.timestamps
end
end
def self.down
drop_table :comments
end
end
app/views/comments/_comment.html.erb
<div id="comment_<%= comment.id %>">
<h1><%= comment.title %></h1>
<%= comment.content %>
<%= render :partial => 'comments/comment', :collection => comments.children %>
</div>
app/views/comments/show.html.erb
<div id="comments">
<%= render :partial => 'comments/comment', :object => Comment.find(params[:id]) %>
</div>
マジックが起き show.html.erb
がで <%= render :partial => 'comments/comment', :object => Comment.find(params[:id]) %>
, この原因の一部を再帰的に描画するすべてのコメントです。したい場合に限に行うことができるので、一部のモデルです。
編集:
この方せんを必要とせずにすべてのコメントと同じ間隔のHTMLべます。したい場合を読みやすさにHTMLで利用 render(...).gsub(/^/, "\t")
これを再帰的にどの製造もインデントします。
どを組み合わせで自分の方法 app/helpers/application_helper.rb
def indented_render(num, *args)
render(*args).gsub(/^/, "\t" * num)
end
そんな話ができ <%= indented_render 1, :partial => 'comments/comment', ... %>
編集:
固定足閉 </h1>
タグの例です。
他のヒント
リンクは、リンクActsAsTree文書で指定されたヘクターとサミュエル-見が壊れているようです。を得ることができdocsで
http://web.archive.org/web/20061011101510/http://wiki.rubyonrails.org/rails/pages/ActsAsTree
(使ったり前のタグとの連続表示の間違った理由).
あhas_threaded_commentsムを利用したことのないので、そういうこと:https://github.com/aarongough/has_threaded_comments
たっき acts_as_tree
プラグイン御モデルかどうかを示します。この公式ActiveRecordます。