0
我有一個工作的部分爲我的Quote類的一個實例_quote.html.erb
,我想用這個相同的部分來渲染索引操作提供的集合中的每個對象。但是,我陷入困境,無法再看到我出錯的地方。一個實例變量命名問題,控制器crud行動格式問題?下面的代碼:如何使用單個部分渲染集合中的每個對象?
quotes_controller.rb
class QuotesController < ApplicationController
before_action :authenticate_user!, only: [ :new, :create, :edit, :update, :destroy ]
# before_action :owners_only, only: [ :show, :edit, :index, :update, :destroy ]
def new
@quote = Quote.new
end
def create
# @quote = Quote.new(quote_params)
@quote = current_user.quotes.new(quote_params)
if @quote.save
redirect_to quote_url(@quote), notice: 'Quote request created'
else
render :new
end
end
def show
# @quote = Quote.find(params[:id])
@quote = current_user.quotes.find(params[:id])
end
def index
@quotes = current_user.quotes.all
end
def edit
@quote = current_user.quotes.find(params[:id])
end
def update
@quote = current_user.quotes.find(params[:id])
if @quote.update_attributes(quote_params)
redirect_to quote_path(@quote)
else
render :edit
end
end
def destroy
@quote = current_user.quotes.find(params[:id])
@quote.destroy
redirect_to quotes_path
end
private
def quote_params
params.require(:quote).permit(:gla, :prev_cover, :co_name, :co_number, :postcode, :industry, :lives_overseas,
:scheme_start_date, :payment_frequency, :commission_level)
end
end
_quote.html.erb
<section id="quote">
<div class="container">
<div class="row">
<div class="col-md-4 text-center">
<div class="panel panel-success panel-quote">
<div class="panel-heading">
<strong>GLA</strong>
</div>
<div class="panel-body text-center">
<p><strong>Quote ID; <%= @quote.id %></strong></p>
</div>
<table class="table table-bordered">
<tr>
<td>Company name</td>
<td><%= @quote.co_name %></td>
</tr>
<tr>
<td>Company number</td>
<td><%= @quote.co_number %></td>
</tr>
<tr>
<td>Office postcode</td>
<td><%= @quote.postcode %></td>
</tr>
<tr>
<td>Industry</td>
<td><%= @quote.industry %></td>
</tr>
<tr>
<td>Previous cover</td>
<td><%= @quote.prev_cover %></td>
</tr>
<tr>
<td>Lives overseas</td>
<td><%= @quote.lives_overseas %></td>
</tr>
<tr>
<td>Scheme start date</td>
<td><%= @quote.scheme_start_date %></td>
</tr>
<tr>
<td>Payment frequency</td>
<td><%= @quote.payment_frequency %></td>
</tr>
<tr>
<td>Commission level</td>
<td><%= @quote.commission_level %></td>
</tr>
</table>
</div>
</div>
</div>
index.html.erb
<% @quotes.each do |q| %>
<%= render :partial => "quote", :collection => q %>
<% end %>
我在做一件非常明顯的事情,有人可以爲我指出,一直盯着這麼久我再也看不到它了!
如果我運行:
<% @quotes.each do |q| %>
<%= q.co_name %>
<% end %>
索引頁面呈現co_name
值就好了,顯示出收集並打通。
謝謝#jvillian,完美的工作,幫助我擺脫了迷失,幫助我看到了我需要更好理解的東西,即部分,傳遞它們的參數和變量。 – jbk