Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Rails-如何通过链接将新值分配给属性?_Ruby_Ruby On Rails 3_Link To_Update Attribute - Fatal编程技术网

Ruby Rails-如何通过链接将新值分配给属性?

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

我有一个名为projects的模型,它有一个属性:opstatus,我想将其设置为3(opstatus是一个int)。我需要在用户单击以下链接时执行此操作:

<%= 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 %>