1

記事の表示ページでリンクを取得しようとしているので、ユーザーが新しいレビューを書くをクリックするとリンクに移動します

/comic_reviews/'the article they want to comment on'/reviews/new

新しいレビューページに誘導される場所

どうすればこれを達成できますか

4

2 に答える 2

3

ルートファイルで、次のようなルートを指定します

match '/comic_reviews/:comic_name/reviews/new' => 'reviews#new', via: :get

次に、レビューコントローラーで、次のようなものが必要になります

reviews_controller.rb

class ReviewsController < ApplicationController

  def new
    @comic = Commic.find_by_name(params[:comic_name])
    if @comic
      @review = @comic.reviews.build
      render 'new'
    else
      #Render some error page since comic was not found
    end
  end
end

その後、ビューにアクセスし@comicてビューにアクセスできるようになるため、投稿を作成してレビューを作成し、それを保存できるフォームを作成できます. これでうまくいくはずです。@reviewreviews/new

編集

あなたのnew見解では、次のようなフォームが必要です

<%= form_for @review do |f| %>
  <%= f.label :some_attribute %>:
  <%= f.text_field :some_attribute %><br />

  <%= f.submit %>
<% end %>

これは、ルート ファイルにレビューを作成するためのルートがあり、ReviewsController にアクションがあることを前提としています。

このようなトピックに苦労している場合は、この優れたチュートリアルを読むことをお勧めします

http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

または、非常に正確な例を提供するRails APIのドキュメントを読んでください。

于 2012-12-21T20:24:28.187 に答える