我想创建更新值状态的link_to(接受-1,拒绝 - 2导致0正在进行中)所以我有一个想法在job_app中调用方法
def accept
@job_apps = job_apps.find(params[:id])
@job_apps.update_attribute(:status,1)
end
def refuse
@job_apps = job_apps.find(params[:id])
@job_apps.update_attribute(:status,2)
end
路线:
get 'accept' => 'job_apps#accept'
post 'accept' => 'job_apps#accept'
它声称job_apps未定义的错误(treid job_app也是)。 尝试:
def accept
@job_apps = @user.job_app
@job_apps.update_attribute(:status,1)
end
我在同一个视图中调用job_app时遇到了类似的问题(查看job_app.status,因为它是与user_id上的用户连接的表)但是在堆栈溢出时有人帮我这个(查看文件):
<th><%= user.job_app.status %></th>
我完全不知道如何使用它来link_to(如果有可能的话)
答案 0 :(得分:0)
您似乎在状态列上使用枚举。除非您跳过对象实例化(例如,使用update_all或update_columns),否则不能将原始值(枚举值的整数部分)与枚举一起使用。如果实例化对象,则必须使用枚举值(值是:接受,而原始值是1)。在接受中,您需要更新对象
def accept
@job_apps = job_apps.find(params[:id])
@job_apps.update_attribute(status: :accept)
end
答案 1 :(得分:0)