Ruby on rails 4 Rails 4-分配属性时,必须将哈希作为参数传递
有人能帮我找出为什么我会出现以下错误吗Ruby on rails 4 Rails 4-分配属性时,必须将哈希作为参数传递,ruby-on-rails-4,Ruby On Rails 4,有人能帮我找出为什么我会出现以下错误吗 When assigning attributes, you must pass a hash as an argument. 表格: <%= form_for([current_user, current_user.suggestions.build]) do |f| %> <%= f.label :category %>: <%= f.select :category, ['Sta
When assigning attributes, you must pass a hash as an argument.
表格:
<%= form_for([current_user, current_user.suggestions.build]) do |f| %>
<%= f.label :category %>:
<%= f.select :category, ['Startup', 'Cars', 'Kids', 'Food', 'Other'] %> <br>
<%= f.text_area :suggestion %><br>
<%= f.submit 'Submit Suggestion' %>
<% end %>
应用程序控制器:
def create
@suggestion = current_user.suggestions.create(suggestion_params)
end
private
def suggestion_params
params.require(:suggestion).permit(:suggestion, :category)
redirect_to shirts_path
end
helper_method :current_user
private
def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
end
suggestion\u params
正在返回方法的最后一行重定向到当前用户的路径
。suggestions.create无法接受,因为它是不可接受的数据
重定向应在create
方法中:
def create
@suggestion = current_user.suggestions.create(suggestion_params)
redirect_to shirts_path
end
private
def suggestion_params
params.require(:suggestion).permit(:suggestion, :category)
end
天哪,我犯了个愚蠢的错误。谢谢你的帮助!