0

質問、回答、質問コメントを含む Q&A 形式のプロジェクトを開発していますが、この構造に問題があります。私のロードマップはこれです:

体験プロフィール --> ディスカッション

そのため、このプロジェクトでは、いくつかの情報を含むエクスペリエンス プロファイルと、すべての Q&A 構造を集約したディスカッション用の link_to があります。私の問題は、link_to を介してディスカッション構造 (Q&A) にアクセスしようとすると、何もレンダリングされないことです。Rails 3.2.0 と Ruby 1.9.3 バージョンを使用しています。助けてください!

体験プロフィール(link_to):

<%= link_to "New topic", experience_discussions_path(@experience), :remote => true %></p>

ディスカッション コントローラ:

respond_to :html, :json
def index
    @experience = Experience.find(params[:experience_id])
    @question = Question.new
    @questions = Question.where(:experience_id => @experience.id).order('updated_at desc')

respond_with(@experience, @questions) do |format|
    format.html { render :layout => !request.xhr? }
end
end

def create
    @experience  = Experience.find(params[:experience_id])
    @question = @experience.questions.new(params[:question])
    @question.user = current_user
if @question.save
    flash[:notice] = 'Pergunta criada com sucesso'
else
    respond_with(@experience, @question) do |format|
    format.html { redirect_to experience_path(@experience)+'#discussion' }
    end
end

ディスカッション ビュー (インデックス):

<div id="questions">
<%= form_for(@question, :url => experience_discussions_path, :method => 'post') do |f| %><br />
<fieldset class ="new_question">
<div class="field">
    <%= f.label "Ask question" %>
    <%= f.text_field :title %>
</div>
<div class="field">
    <%= f.submit "Create", :class => 'button' %>
</div>
</fieldset>
<% end %>

<% @questions.each do |q| %>
<h3 id="q_title">
    <%= (:question) %>: <%= q.title %><br />
    <small> <%= (:question_from) %> <%= q.user %></small>
</h3>

<%= form_for(Answer.new(:question => q),:url => experience_discussion_answers_path(@experience, q),:method => 'post') do |f| %>
<fieldset class="new_answer">
<div class="field">
    <%= f.label "Resposta" %>
    <%= f.text_area :body %>
</div>
<div class="field">
    <%= f.submit "Create", :class => 'button' %>
</div>
</fieldset>
<% end if current_user == @experience.user && q.answers.empty? %>

<% q.answers.each do |answer|%> 
    <p><%= answer.body %></p> 
<% end %>

<% q.comments.each do |comment|%>
    <p <%= 'class=owner' if comment.user == @experience.user%> >
    <small><%= user_link comment.user %></small>
    <br>
    <%= comment.body %>
    </p>
<% end unless q.answers.empty? %>  
<%= link_to("Add comment"), experience_discussion_comments_path(@experience, q)) %>
<%= render(:partial => 'question_comment') %>
<% end %>
</div>
4

1 に答える 1

0

これらの Respond_to および Respond_with コードをすべて削除し、レールにいくつかのエラーを表示させます。そこに何が欠けているかがわかります。メソッドに Respond_to format.js が必要で、.js.erb ビューも必要だと思います

ログをチェックして、サーバーに到達するリクエストの形式を確認してください

于 2012-07-03T19:52:06.713 に答える