我正在尝试将此用户ID从我的视图发送到控制器,现在的情况是该值正确传递给与此视图对应的控制器(manage_users_controller),但它没有被发送到其他控制器(server_management_controller) )
u.column :name => "Action" do |user|
#Works fine
link_to('Edit', edit_manage_user_path(user.id)) + " | " +
#This call does not send the value
link_to('Assign Servers', edit_server_management_path(user.id))
end
Controller Action(server_management_controller):
def show
if @uid == 1 #The value being sent from the view
@servers_grid = initialize_grid(Server)
@servers = Server.all
@name = current_user[:username]
@email = current_user[:email]
render 'index'
end
end
def edit
@uid = params[:id]
show
end
另一个值得一提的是,点击分配服务器链接时,值IS会附加到URL中,即xyz.com/server_management/1/edit
任何帮助将不胜感激。
--- ---解决
一个提示
参数以字符串形式出现,因此请确保不要立即将其视为整数。
答案 0 :(得分:3)
您传递给Rails Url Helper的任何查询参数,如下所示:
edit_manage_user_path(anyname: user.id)
可以通过以下方式从被调用的操作中访问
params[:anyname]
anyname
当然只是一个例子。
如果参数已经是Rails为您生成的URL的一部分,则最有可能:id
。您可以通过执行rake routes
来查找,这将为您提供应用程序中配置的所有路由的完整列表。
这会回答你的问题吗?