【发布时间】:2022-11-21 01:10:03
【问题描述】:
我有一个照片共享 Web 应用程序,我正在尝试在照片中添加 cmets。我找不到任何错误。也许在索引函数的控制器类中是问题所在。当我尝试在照片下方显示发布 cmets 时出现未定义方法错误。 HAML 代码错误。
错误:-如果@photo_cmets.any?
控制器:
class CommentsController < ApplicationController def index @photo_comments = Comment.where(photo_id: => photo_id) end def create @comment = Comment.create(user_id: params[:user_id], photo_id: params[:photo_id], text: params[:comment][:text]) flash[:notice] = "Successfully added a comment" redirect_to :back end private def comment_params params.require(:comment).permit(:user_id, :photo_id, :text) end end模型:
class Comment < ActiveRecord::Base belongs_to :user belongs_to :photo end数据库:
class CreateComments < ActiveRecord::Migration def change create_table :comments do |t| t.integer :user_id t.integer :photo_id t.string :text t.timestamps end end end看法:
%p Comments - if @photo_comments.any? - @photo_comments.each do |comment| .bold-text= "#{comment.user.email}: " .normal-text= comment.text %br - else .text No comments for this photo yet! %br %br %p = form_for Comment.new(), :url => user_photo_comments_path do |form| = form.label :text, 'Add a Comment' %br = form.text_area :text %br = form.submit 'Post'路线:
Rails.application.routes.draw do get '/' => 'home#index' resources :users do resources :photos do resources :comments end resources :follows end resources :tags, only: [:create, :destroy] get '/log-in' => "sessions#new" post '/log-in' => "sessions#create" get '/log-out' => "sessions#destroy", as: :log_out end
【问题讨论】:
-
当您收到该错误时,您调用什么 URL?
标签: ruby-on-rails ruby haml