我最近切换到Rails4而且我是。不。获得。的东西。至。工作...
ANSWER: As Aman remembered me, in Rails 4 we have to filter attributes in the Controller.
我想将定价添加到我的列表脚手架。
1。)生成迁移
rails g migration AddPriceToListings price:decimal
2。)编辑迁移:
add_column :listings, :price, :decimal, :precision => 8, :scale => 2
3。)将输入添加到我的表单
<!-- Price Field -->
<div class="control-group">
<label class="control-label">Price</label>
<div class="controls">
<%= f.input :price, :placeholder => "0.00", label: false %>
</div>
</div>
4.。)在Showpage上
<%= number_to_currency(@listing.price, :unit => "$") %>
但在我的Shopage上什么都没有。价格没有显示。它甚至没有显示在数据库中。
有什么建议吗?
答案 0 :(得分:1)
在Rails4中,如果您通过表单进行批量分配,则必须允许参数:
确保在列表_controller.rb:
中过滤属性def create
@listing = Listing.create(listing_params)
...
end
...
private
def listing_params
params.require(:listing).permit(:price, :name) #name can be replaced by other parameters received via form.
end
答案 1 :(得分:0)
我认为您错过了迁移文件中的:decimal
通过此
再次编辑迁移add_column :listings, :price, :decimal, :precision => 8, :scale => 2