我跑了
rails g scaffold Freqs description:string --skip-stylesheets
并迁移我的数据库并重新启动服务器。
当我在我的应用程序中创建一个新的Freq时,它已成功创建,但没有任何文本我在描述框中键入。
我已经检查了Freq模型中的代码,并且确实正在推出描述。由于某种原因,它只是没有显示。
知道为什么会这样吗?如果需要,请索取具体代码。
以下是与Freqs对应的show.html.erb视图:
<p id="notice"><%= notice %></p>
<p>
<strong>Description:</strong>
<%= @freq.description %>
</p>
<%= link_to 'Edit', edit_freq_path(@freq) %> |
<%= link_to 'Back', freqs_path %>
问题在于控制器。以下是我尝试保存说明时收到的错误:
警告:无法为Freq:description大量分配受保护的属性 app / controllers / freqs_controller.rb:27:在'create'
这是第27行:
@freq = Freq.new(freq_params)
我通过添加
解决了这个问题attr_accessible :description
到Freq模型。
答案 0 :(得分:1)
在Rails 4中,参数验证已从模型中删除,现在存在于Controller中。所以,&#34; attr_accessible&#34;线不再用于模型中。
从控制器提供的行中,控制器中有一个freq_params函数,应该是这样的:
# Never trust parameters from the scary internet, only allow the white list through.
def freq_params
params.require(:freq).permit(:description)
end
如果不是,请将其更改为此,并从Freq模型中删除attr_accessible行。