因此,在我的应用程序中,访客在code / index.html页面中搜索他们的RSVP代码,然后单击将其带到rsvp页面的继续链接。我试图只显示属于RSVP特定代码的名称,但目前所有名称都显示出来。我已经将代码作为参数传递到索引页面上的链接中,但是当我到达rsvp页面时,它会显示在url中,其中一段时间看起来并不正确ex:/rsvp.1 所以我猜这是我出错的地方,但我无法弄清楚原因:
协会
Guest belongs_to :code
Code has_many :guest
代码/ index.html.erb (带有用户到rsvp页面并将params传递给rsvp页面的链接的页面)
<h2><%= link_to 'Continue', rsvp_path(code) %></h2>
code_controller
def index
@codes = Code.search(params[:search])
end
def rsvp
code_id = params[:code]
@guests = Guest.where("code_id", "#{code_id}")
end
代码/ rsvp.html.erb
<div class="row">
<div class="box">
<div class="col-lg-12">
<form class="row form-inline">
<% @guests.each do |guest| %>
<%= guest.name %>
<% end %>
<div class="form-group">
<p> Will you be attending the wedding of Kristen Albrecht and Chris Alford September 1, 2017? </p>
<button aria-haspopup="true" class="btn btn-default dropdown-toggle" ngbdropdowntoggle="" type="button" aria-expanded="false">
Yes</button>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">No</button>
</div>
</form>
</div>
</div>
</div>
路由
resources :codes
resources :guests
get '/code' =>'codes#code'
get '/rsvp' =>'codes#rsvp'
答案 0 :(得分:0)
好吧我明白了:
我将索引页面上的链接更改为
<%= link_to "Continue", {:controller => "codes", :action => "rsvp", :code_id => code.id }%>
然后我将控制器代码更改为
def rsvp
@guests = Guest.where(code_id: params[:code_id])
end
答案 1 :(得分:0)
要确保get '/rsvp/:code' =>'codes#rsvp'
是网址中的参数,您必须进行以下更改:
<h2><%= link_to 'Continue', rsvp_path(code: code) %></h2>
params[:code]
这样response = requests.post(url = url, data = json.dumps(body), headers = headers, veryify=False)
将在code_controller中有一个值