我刚接触到rails,我得到上面的错误不知道为什么。我有一个链接从哪里获取值并存储在控制器
<%= link_to "Add Stocks " ,userstocks_path(user:
current_user,short_code: @stock.short_code,stock_id: @stock.id ?
@stock.id : '' ),class: "btn btn-primary"%>
我的控制器创建动作
def create
if params[:stock_id].present?
@userstock = Userstock.new(stock_id: params[:stock_id],user: current_user)
end
respond_to do |format|
if @userstock.save
format.html { redirect_to users_my_portfolio_path , notice: 'Userstock was successfully created.' }
format.json { render :show, status: :created, location: @userstock }
end
end
end
我的路线
resources :userstocks,except: [:show,:edit,:update,:index]
而不是在userstocks_path中发布请求,而是转到userstocks_path的索引。如果从路由中删除“except :: index”,则在控制台中给出模板错误.any解决方案
答案 0 :(得分:1)
原因是您需要根据REST索引(方法类型为'get')定义具有link_to
的方法类型,并且create(方法类型为'post')操作都具有相同的路由,但区别在于它们的方法类型。你可以通过命令rake routes | grep userstocks
试试这个 -
<%= link_to "Add Stocks " ,userstocks_path(user:
current_user,short_code: @stock.short_code,stock_id: @stock.id ?
@stock.id : '' ),:method=> :post, class: "btn btn-primary"%>
谢谢。