路由错误创建行动
问题描述:
荫新轨道,荫得到上面的错误不知道why.i有从那里获得荫值和控制器存储路由错误创建行动
<%= 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其将POST请求以索引userstocks_path。并且如果从路由中删除“except :::index”,它会给出我在控制台中的模板错误.any解决方案
答
原因是您需要根据REST索引定义方法类型link_to
(方法类型为'得到')和创建(方法类型是'后')行动都有相同的路线,但不同的是他们的方法类型。您可以通过命令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"%>
谢谢。
你用'new_userstock_path'而不是'userstocks_path'来尝试,或者你想用什么方法发出请求? –
其实userstock是一个脚手架,我不需要form.just要使用创建操作在userstocks控制器。 –