我有一个控制器用于属性,另一个用于国家一个属性有一个国家
我的房产模型
class Property < ApplicationRecord
acts_as_paranoid
has_one :country, class_name: Country
belongs_to :company
accepts_nested_attributes_for :country
validates :name, presence: true
validates :address, presence: true
我的国家/地区型号
class Country < ApplicationRecord
acts_as_paranoid
belongs_to :property
validates :name, presence: true
validates :isoalpha2, presence: true
validates :isolapha3, presence: true
当我想在我的视图中添加一个属性(new.html.erb)
<%= simple_form_for [@property, @country], url: property_new_path do |f| %>
<% if @property.errors.any? %>
<%= pluralize(@property.errors.count, "error") %> prohibited
this property from being saved:
<% @property.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
<% end %>
<%= f.input :name %>
<%= f.input :description %>
<%= f.input :address %>
<%= f.submit %>
我收到以下错误:
未定义的方法`描述&#39;对于#&lt; 国家/地区:0x8de0b20&gt;
我不知道为什么要使用Country类而不是Property,因为description是属性控制器的一部分
谢谢
答案 0 :(得分:0)
那应该是
<%= simple_form_for [ @country, @property] do |f| %>
和路线应采用嵌套形式
resources :countries do
resources :properties, except: [:index]
end
希望这对你有用