0

我有一个有很多客人参加的活动。客人必须使用他们的 ID 搜索自己才能回复,但我无法通过搜索返回该客人信息(显示/编辑页面)。

搜索标签:

<div>
  <h3>Enter your ID here:</h3>
  <%= form_for "", url: event_guest_path(@event,@guest), role: 'search', method: :get do %>
  <%= text_field_tag :search, @search_term, placeholder: "Search.." %>
  <% end %>
</div>

访客控制器:

def show
    if params[:search]
      @search_term = params[:search]
      @guest = @event.guests.search_by(@search_term)
    end
  end

来宾.rb:

 def self.search_by(search_term)
    where("(id) LIKE :search_term", search_term: "%#{search_term}%")
  end

目前它一直将我带到索引页面,但我希望它返回访客路径,他们可以在其中进行回复。

4

1 回答 1

0

我们应该有更准确的回答你。因为您的查询有点矫枉过正。

客人有特定活动的唯一 ID 吗?

如果是这种情况,我建议您在您的 中简单地使用以下代码show

Guest.find_by(search_term: params[:search])

如果您Guest有一个可用于多个事件的唯一 ID,您可能想要创建一个连接表,但我在推测。

于 2019-08-13T20:35:46.747 回答