Rails按钮来更新嵌套属性的状态
我有一个模型Project和一个模型ProjectLine。 Project为ProjectLine嵌套了属性。Rails按钮来更新嵌套属性的状态
在我的项目中显示视图我列出了项目信息和任务列表。
<% @project.project_lines.each do |project_line| %> <%= project_line.user.name %>
<%= project_line.description %>
<%= number_to_currency project_line.amount, precision: 0, unit: "USD ", separator: ",", delimiter: "," %>
<%= project_line.task_status_name %>
<% end %>
使用cocoon在项目表单上创建任务。
在上面的视图中,状态名称之后,我想为每个改变状态的项目行都有一个按钮。
到目前为止我找到的解决方案是创建一个表单。
<%= semantic_form_for @project_line do |f| %> <%= f.hidden_field :status, :value=>2 %>
<%= f.submit 'ACCEPT', class: 'btn btn-primary btn-md' %>
<% end %>
我试图将其放置在部分项目上,并调用它的循环<% @project.project_lines.each do |project_line| %>
,但我不能得到它的工作。
如何获得每个项目行的按钮以更改项目行状态?
回答:
如果我明白你的要求,财产以后沿
视图
<% @project.project_lines.each do |project_line| %> <%= project_line.user.name %>
<%= project_line.description %>
<%= number_to_currency project_line.amount, precision: 0, unit: "USD ", separator: ",", delimiter: "," %>
<%= project_line.task_status_name %>
<button class="accept_to_server">Accept</button>
<% end %>
的JavaScript(jQuery的)
$.('.accept_to_server').on('click', function(){ $.ajax({
url: 'path/to/accept/route'
method: 'PUT' // or what method your route uses
data: {data:you, need:here}
}).done(function(data){
// update your view
}).fail(function(){
// something went wrong
});
};
希望此行有助于出来。
以上是 Rails按钮来更新嵌套属性的状态 的全部内容, 来源链接: utcz.com/qa/266331.html