【问题标题】:C:/Sites/rails_projects/sample_app/app/controllers/users_controller.rb:23: syntax error, unexpected $end, expecting kENDC:/Sites/rails_projects/sample_app/app/controllers/users_controller.rb:23:语法错误,意外$end,期待kEND
【发布时间】:2011-09-08 10:45:44
【问题描述】:

我是编程和自学 RoR 的新手。我使用http://ruby.railstutorial.org 作为我的第一个指南。我以为我做得很好,然后出现了一个看似简单的问题,即使在阅读了几篇与该主题相关的堆栈上的好帖子后,我仍然无法解决它。如果有人能指出我在代码中遇到的问题,我将不胜感激。

谢谢。

我收到此错误。

C:/Sites/rails_projects/sample_app/app/controllers/users_controller.rb:23:语法错误,意外 $end,期待 kEND

这是我正在使用的代码:

class UsersController < ApplicationController

def show
  @user = User.find(params[:id])
  @title = @user.name
end

def new
  @user = User.new
  @title = "Sign up"
end

def create
  @user = User.new(params[:user])
  if @user.save
  sign_in @user
  flash[:success] = "Welcome to the Sample App!"
  redirect_to @user
else
  @title = "Sign up"
  render 'new'
 end
end

【问题讨论】:

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


    【解决方案1】:

    检查create 方法中的缩进。您没有在if @user.save 下缩进任何内容。我知道这似乎有点离题,但如果你的缩进正确,你会看到没有 end 关闭课程。

    class UsersController < ApplicationController
    
      def show
        @user = User.find(params[:id])
        @title = @user.name
      end
    
      def new
        @user = User.new
        @title = "Sign up"
      end
    
      def create
        @user = User.new(params[:user])
        if @user.save
          sign_in @user
          flash[:success] = "Welcome to the Sample App!"
          redirect_to @user
        else
          @title = "Sign up"
          render 'new'
        end # <= ends the if
      end # <= ends the def create
    end # <= ends the class
    

    【讨论】:

    • 感谢您的帮助和反馈。我可以看到更多地关注细节将如何帮助我进行编程。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    相关资源
    最近更新 更多