作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在 rails4 中创建一对多连接。但是,虽然我没有收到错误消息,但未存储嵌套属性。
我究竟做错了什么?
站型
class Station < ActiveRecord::Base
has_many :adresses
accepts_nested_attributes_for :adresses
end
class Adress < ActiveRecord::Base
belongs_to :station
end
def new
@station = Station.new
@station.adresses.build
end
def create
@station = Station.new(station_params)
@station.save
redirect_to @station
end
def index
@stations = Station.all
end
private
def station_params
params.require(:station).permit(:name, adresses_attributes: [ :url ])
end
end
<%= form_for :station, url: stations_path do |station| %>
<p>
<%= station.label :name %><br />
<%= station.text_field :name %>
</p>
<%= station.fields_for :adresses do |adress| %>
<div class="field">
<p>
<%= adress.label :url %><br />
<%= adress.text_field :url %>
</p>
</div>
<% end %>
<p>
<%= station.submit %>
</p>
<% end %>
最佳答案
在 Rails 4 中,您还需要允许 id
adresses
的属性.请这样做:
def station_params
params.require(:station).permit(:name, adresses_attributes: [ :url, :id ])
end
关于ruby-on-rails - accepts_nested_attributes_for : What am I doing wrong,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17558309/
我是一名优秀的程序员,十分优秀!