【问题标题】:Rails error: unexpected end-of-input, expecting keyword_endRails 错误:意外的输入结束,期待关键字结束
【发布时间】:2015-05-21 14:36:55
【问题描述】:

我收到了这个错误:

/home/shaili/project/app/models/inbox.rb:8:语法错误,意外 输入结束,期待keyword_end

我正在尝试添加搜索栏,并且一直在尝试设置同一页面的路径。

这是我的 models/inbox.rb 文件:

class Inbox < ActiveRecord::Base
  def self.search(search)
    if search
      find(:all, :conditions => ['name LIKE ?', '%#{search}%'])
    else
      find(:all)
    end
  end

这是我的 Inbox_controllers 文件的一部分:

@inbox = Inbox.search(params[:search])

这是我的 inbox.html.erb 文件的一部分,我试图找出同一页面的路径:

<%= form_tag :method => 'get' do %>
  <p>
    <%= search_field_tag :Search, params[:search] %>
    <%= submit_tag "Search", :name => nil %>
  </p>
<% end %>

【问题讨论】:

  • 如果你缩进你的代码,你会更容易发现这种错误。

标签: ruby-on-rails


【解决方案1】:

最后没有结尾:) :

class Inbox < ActiveRecord::Base
  def self.search(search)
    if search
      find(:all, :conditions => ['name LIKE ?', '%#{search}%'])
    else
      find(:all)
    end
  end
end

正确的缩进甚至可以帮助您在尝试运行之前发现这些错误。

【讨论】:

  • 谢谢。每次我尝试搜索时,它都会将我重定向到主页。关于如何设置路径的任何提示?
  • 那是一个单独的问题。我必须查看您的完整控制器代码,也许还有路由文件来回答这个问题。
  • 您需要我的控制器或 routes.rb 文件吗?
  • 您应该提交一个新问题,其中包含有关该问题的详细信息,因为它与此问题完全不同。
【解决方案2】:

你错过了课程的结尾

class Inbox < ActiveRecord::Base
  def self.search(search)
    if search
      find(:all, :conditions => ['name LIKE ?', '%#{search}%'])
    else
      find(:all)
    end
  end
end

【讨论】:

    猜你喜欢
    • 2013-09-18
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多