提问人:John Sall 提问时间:11/4/2023 最后编辑:John Sall 更新时间:11/5/2023 访问量:29
无法在 ruby on rails 中更新我的商店资料
Cannot update my store profile in ruby on rails
问:
这些是编辑和更新操作:
def edit
@store_to_edit = StorePost.find(params[:id])
end
def update
@store_to_edit = StorePost.find(params[:id])
if @store_to_edit.update(store_params)
flash[:success] = 'store updated'
redirect_to @store_to_edit
else
render 'edit', status: :unprocessable_entity
end
end
store parameters 方法:
private
def store_params
params.require(:store).permit(:name, :country, :state, :city)
end
这些是路线:
post '/store_posts/:id/edit', to: 'store_posts#update'
resources :store_posts, only: [:new, :create, :show, :edit, :update]
这是编辑页面的表单,例如 /store_posts/4/edit:
<%= form_with(model: @store_to_edit) do |f| %>
<div class='field'>
<%= f.text_area :name, placeholder: 'name...' %>
</div>
<div class='field'>
<%= f.text_area :country, placeholder: 'country...' %>
</div>
<div class='field'>
<%= f.text_area :state, placeholder: 'state...' %>
</div>
<div class='field'>
<%= f.text_area :city, placeholder: 'city...' %>
</div>
<%= f.submit 'save changes', class: 'btn btn-primary' %>
<% end %>
但是当我按“保存更改”时,它只是将我重定向到同一页面并且没有更新
编辑
这是它给我的错误:
Completed 400 Bad Request in 12ms (ActiveRecord: 0.3ms | Allocations: 1198)
ActionController::ParameterMissing (param is missing or the value is empty: store):
app/controllers/store_posts_controller.rb:122:in `store_params'
app/controllers/store_posts_controller.rb:43:in `update'
答: 暂无答案
评论
params.require(:store_post)...