我正在使用rails 4。 我需要将user.id和place.id添加到subsriptions表。 我得到了:
class AddPlaceidToUserid < ActiveRecord::Migration
def change
create_table :subscriptions do |t|
t.integer :placeid
t.integer :userid
end
end
end
在places_cntroller.rb中我得到了
def addid
@sub = Subscription.new(sub_params)
@sub.userid = current_user.id
@sub.placeid = place.id
end
private
def sub_params
params.require(:subscription).permit(:placeid, :userid)
end
在我获得的地方的index.html.erb中:
<%= button_to "subscribe", :controller => :places,
:action => 'addid',
:method => :post %>
在我得到的路线中:
resources :places do
post :addid, :on => :collection
end
当我点击按钮时,我找不到参数:订阅错误。什么shuold我改变了?或者我可以在哪里找到类似的教程?
答案 0 :(得分:1)
class AddPlaceidToUserid < ActiveRecord::Migration
def change
create_table :subscriptions do |t|
t.integer :place_id
t.integer :user_id
end
end
end
无需收藏。
resources :places do
post :addid
end
你的控制器
def addid
@sub = Subscription.new(sub_params)
if @sub.save
...
else
...
end
end