0
編集と新しいリンクがうまくいかない理由を理解できません。私はCargoControllerというコントローラを持っていて、モデルカーを持っています。 CargoControllerは次のとおりです。Railsがモデルを作成して更新するCant resolve paths
def new_auto
end
def edit_auto
end
def index
@cars=Car.find_all_by_UserId(session[:user_id])
if @cars.nil?
end
end
カーモデルは次のとおりです。
class Car < ActiveRecord::Base
validates_presence_of :TransportTypeId
validates_presence_of :CarModelId
set_primary_key :CarId
has_one :TransportType
has_one :CarModel
belongs_to :User
has_many :PropertyOfCar, :dependent => :destroy
has_many :CarProperty, :through => :PropertyOfCar
end
ビューCargoControllerのindex.erbは次のとおりです。
<%if [email protected]?%>
<table width="100%" border="0" cellpadding="0px" cellspacing=1px">
<% @cars.each do |car| %>
<tr valign="top" class="<%= cycle('list-line-odd', 'list-line-even') %>">
<td>
<table border="0" width="100%" style="color:black">
<tr>
<td width="15%" align="left" valign="top" >Тип ТС:</td>
<td width="70%" align="left" valign="top"><%= TransportType.find_by_TransportTypeId(car.TransportTypeId).Name %></td>
<td align="right" valign="top" rowspan="2">
<img alt="" src="/images/Truck-icon.png"/>
</td>
</tr>
<tr>
<td width="15%" align="left" valign="top">Car model:</td>
<td width="70%" align="left" valign="top"><%= CarModel.find_by_CarModelId(car.CarModelId).ModelName %></td>
</tr>
<tr>
<td align="center" valign="top" colspan="3">
<label class="Chars"> Properties</label>
</td>
</tr>
<tr colspan="3">
<td>
<%= button_to 'Edit', :controller=>:cargo,:action=>:edit_auto,:id=>car.CarId %>
</td>
</tr>
</table>
</td>
</tr>
<% end %>
</table>
<% end %>
ビューの編集と新しいです:
<div class="center">
<%= render 'form' %>
</div>
テンプレート
<%= form_for(@car) do |form| %>
<table >
<tr>
<td>
<label for="transport_type">Car Type:</label>
</td>
<td>
<%= form.select(:TransportTypeId, TransportType.all.collect {|p| [ p.Name, p.TransportTypeId ] }, { :include_blank => 'Select type'},{:style=>'width: 200px'}) %>
</td>
</tr>
<tr>
<td>
<label for="transport_type">Car model:</label>
</td>
<td>
<%= form.select(:CarModelId, CarModel.all.collect {|p| [ p.ModelName, p.CarModelId ] }, { :include_blank => 'Select model' },{:style=>'width: 200px'}) %>
</td>
</tr>
<tr>
<td colspan="2">
<%= button_to "add property",{:controller=>:cargo,:action=>:new_property},{:class =>"Button_style"} %>
</td>
</tr>
<tr>
<td colspan="2" align="left">
<%= form.submit "Add car", :class => "submit" ,:class =>"Button_style"%>
</td>
</tr>
</table>
<% end %>
それでは、私は車のコントローラを頼むか
ActionView::Template::Error (undefined method `model_name' for NilClass:Class):
1: <%= form_for(@car) do |form| %>
2: <table >
3: <tr>
4: <td>.
私はそれを動作させるために何をしなければならを書く車のレールを追加または更新しよう:?_formは食べましたか私は私はあなたが各アクションのインスタンス変数を作成しないと思い
get "cargo/index"
get "cargo/new_auto"
match ':controller(/:action(/:id))'
新しい/編集の代わりにnew_auto/edit_autoアクションを使用しない理由はありますか?あなたは資源を使用することができます:その場合は簡単に車。 – raidfive