Ruby Rails-如何通过链接将新值分配给属性?
我有一个名为projects的模型,它有一个属性:opstatus,我想将其设置为3(opstatus是一个int)。我需要在用户单击以下链接时执行此操作:Ruby Rails-如何通过链接将新值分配给属性?,ruby,ruby-on-rails-3,link-to,update-attribute,Ruby,Ruby On Rails 3,Link To,Update Attribute,我有一个名为projects的模型,它有一个属性:opstatus,我想将其设置为3(opstatus是一个int)。我需要在用户单击以下链接时执行此操作: <%= link_to 'Close', projects_path, :action => :newmeth %> 但是当用户点击链接时,什么也没有发生! 数据库告诉我opstatus仍然=s3,并且没有错误消息 谁能告诉我我做错了什么? 谢谢 下面是my routes.rb文件的全部内容 Rails.applicat
<%= link_to 'Close', projects_path, :action => :newmeth %>
但是当用户点击链接时,什么也没有发生!
数据库告诉我opstatus仍然=s3,并且没有错误消息
谁能告诉我我做错了什么?
谢谢
下面是my routes.rb文件的全部内容
Rails.application.routes.draw do
get 'sheetread/show'
get 'sheetread' => 'sheetread#show'
get 'users/index'
get 'users/new'
get 'welcome/index'
get 'signup' => 'users#new'
get 'login' => 'sessions#new'
post 'login' => 'sessions#create'
delete 'logout' => 'sessions#destroy'
resources :users
resources :spreadsheets
resources :projects do
resources :comments
end
root 'welcome#index'
更新 将
newmeth
操作添加到路由文件:
resources :projects do
get :newmeth
resources :comments
end
另外,我强烈建议你阅读这本书
而不是
<%= link_to 'Close', projects_path, :action => :newmeth %>
:newmeth%>
试一试
它可能不起作用,这取决于您如何设置路由,您能在问题中粘贴相关行吗?好的,我明白您的意思,我需要设置路由,但是不可能直接从页面更改opstatus的值,甚至不调用方法吗?我试着把你链接到body,url,:'opstatus'=>3,但是运气不好..不,你不能。您需要通过控制器。你需要设置路线。
<%= link_to 'Close', projects_path, :action => :newmeth %>
<%= link_to 'Close', newmeth_projects_path %>