0
我有_form
对于new
和edit
对于@Giveaway
对象。在这个表格中,我有一个随机赢家的领域。Rails运行:在/ new和/ edit中创建路由_form
我想通过调用方法giveaways#random_winner
与<%= button_to "Randomly Pick Winner!", {:action => 'choose_winner'}, :method => :get %>
填充此字段,但在加载/giveaways/new
时出现此错误No route matches {:action=>"choose_winner", :controller=>"giveaways"}
。
这里是我的控制器:
def choose_winner
random_winner = SubscriberUser.where(user_id: current_user.id).pluck(:subscriber_id).sample(1)
session[:random_winner] = random_winner
redirect_to :back
end
这里是我试过的路由。我不是在非脚手架路线很好吗:
resources :giveaways do
member do
get 'choose_winner' => 'giveaways#choose_winner'
#tried get :choose_winner, as: :choose_winner
#tried get 'new/choose_winner'
#tried get 'choose_winner'
#tried get 'choose_winner', to: 'giveaways#choose_winner', as: 'choose_winner'
end
end
问题 - 当我已经定义在路由控制器和动作为什么不加载页面?当我运行该路线时,是否需要重新加载页面?有没有更好的方法来获取这些数据?
谢谢。我担心的是新方法还没有对象标识。 – HashRocketSyntax
您可以将其设置为收集路线并将ID作为参数传递。然后分别处理这两种情况 – Jared