【问题标题】:Trying to link to specfic new comic review page试图链接到特定的新漫画评论页面
【发布时间】:2012-12-22 20:55:00
【问题描述】:

我正在尝试在文章显示页面上获取链接,以便当用户点击撰写新评论时,它会将他们带到链接

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

他们将被引导到新的评论页面

我怎样才能做到这一点

【问题讨论】:

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


    【解决方案1】:

    在您的路线文件中,您可以指定这样的路线

    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
    

    然后,您将可以在您的 reviews/new 视图中访问 @comic@review,这样您就可以构建一个表单,该表单仅用于创建评论并允许您存储评论。这应该能让你继续前进。

    编辑

    在您的 new 视图中,您需要有一个看起来像这样的表单

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

    这将期望您有一个在您的路线文件中创建评论的路线和在您的评论控制器中的操作。

    如果您正在为这些主题而苦苦挣扎,我建议您阅读这个优秀的教程

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

    或者只是阅读 Rails API 的文档,它将为您提供非常准确的示例。

    【讨论】:

    • 那么在我看来我会怎么做?
    【解决方案2】:

    你可以通过路由来做到这一点

    resources :comic_reviews do
      resources :reviews
        #probably_some_other_route_here
    end
    

    有了restful模式,你想要的一切都很容易实现

    控制器

    Someclass < Someotherclass
    
      #some your code
    
      def new
        @instance_var = Your_model.new
      end
    
      def create
        @instance_var = Your_model.new(params[:some_name_here])
        if @instance_var.save
          redirect_to somewhere
        else
          render 'new'
        end
      end
    end
    

    你还需要表格,但我认为这不会造成任何麻烦

    【讨论】:

      猜你喜欢
      • 2012-01-07
      • 1970-01-01
      • 2012-07-19
      • 2014-12-23
      • 2011-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-09
      相关资源
      最近更新 更多