0

ステータスの更新とコメントデータベーステーブルがあります。

ユーザーには多くのステータス更新があり、ステータス更新には多くのコメントがあります。Facebookと同様に、ユーザーの友達がユーザーのフィードページ(表示ページ)にアクセスすると、ユーザーのステータスの更新についてコメントできるはずです。

ユーザーの友達のコメントを保存する際に問題が発生しました。私のコードは以下のとおりです。コメントコントローラーのCreateメソッドと関係があると思います。"@comment = @ statusupdate.comments.build(params [:comment]) 「」

どんなガイダンスでも大歓迎です!ありがとう!

class UsersController < ApplicationController
  def show
    @user = User.find(params[:id])
    @statusupdates = @user.statusupdates.paginate(:page => params[:page], :per_page => 25)
    @statusupdate = Statusupdate.new    
    @comment = Comment.new
  end
end

show.html.erb
  <% form_for @statusupdate do |f| %>
  <%= f.error_messages %>
  <div class="field">
    <%= f.text_field :content %>
  </div>

 <% @statusupdates.each do |s| %>

   <%= s.content %><br />

    <% form_for @comment do |f| %>
    <%= f.error_messages %>
      <div class="field">
        <%= f.text_field :comment %>
      </div>
      <div class="field">
        <%= f.hidden_field :user_id, :value => current_user.id %>
      </div>
      <div class="actions">
        <%= f.submit "Submit" %>
      </div>
      <br><br>
    <% end %>
  <% end %>

class CommentsController < ApplicationController
  def create
    @comment = @statusupdate.comments.build(params[:comment])
      if @comment.save
      flash[:success] = "Comment created!"
      redirect_to root_path
    else
      @feed_items = []
      render 'pages/home'
    end
   end
 end

4

2 に答える 2

0

フォームのhtmlをチェックして、正しいことを確認してください。また、作成アクションに送信されるパラメーターも確認してください。

私が目にする主なことは、ステータス更新とコメントのフォームがネストされており、どちらもブロックパラメーターfを使用していることです。これにより、状況が非常に奇妙になる可能性があります(特に、ブロックパラメータのスコープがruby 1.8と1.9で異なるため)。また、実際にはフォームをネストしたくないようです。また、HTMLのインデントも修正する必要があります。

于 2010-11-22T16:23:40.630 に答える
0

show.html.erb-ステータス更新コメントフォームの一番上の行を次のように変更しました。

<% form_for (s, s.comments.build) do |f| %>
...

class CommentsController < ApplicationController
  def create
    @statusupdate = statusupdate.find(params[:statusupdate_id])
    @comment = @statusupdate.comments.create(params[:comment])
    ...

ここで何が起こっているのか正確にはわかりませんが、それは私にとってはうまくいきました〜誰かが助けてくれることを願っています〜

于 2010-12-13T06:16:19.063 に答える